hanchenye-llvm-project/clang
Douglas Gregor c147b0bc31 Provide Decl::getOwningModule(), which determines the (sub)module in
which a particular declaration resides. Use this information to
customize the "definition of 'blah' must be imported from another
module" diagnostic with the module the user actually has to
import. Additionally, recover by importing that module, so we don't
complain about other names in that module.

Still TODO: coming up with decent Fix-Its for these cases, and expand
this recovery approach for other name lookup failures.

llvm-svn: 172290
2013-01-12 01:29:50 +00:00
..
INPUTS Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 2012-09-27 10:16:10 +00:00
bindings [python bindings] Expose cursor.referenced (clang_getCursorReferenced). 2013-01-02 22:31:57 +00:00
docs Fix spelling error and remove the part about CMake having experimental Ninja support since 2.8.9 has been released some time ago. 2013-01-11 07:23:53 +00:00
examples Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to 2013-01-02 11:45:17 +00:00
include Provide Decl::getOwningModule(), which determines the (sub)module in 2013-01-12 01:29:50 +00:00
lib Provide Decl::getOwningModule(), which determines the (sub)module in 2013-01-12 01:29:50 +00:00
runtime UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan on OS X in 'make' build system. Patch by Jean-Daniel Dupas. 2012-11-16 12:53:14 +00:00
test Provide Decl::getOwningModule(), which determines the (sub)module in 2013-01-12 01:29:50 +00:00
tools libclang: use C++ casts in CXString.cpp 2013-01-11 23:13:36 +00:00
unittests Formatter: add a test for :? in [] 2013-01-12 01:28:06 +00:00
utils Error if an anonymous DiagGroup is referenced multiple times. 2013-01-10 18:50:46 +00:00
www Various tweaks and updates to the analyzer website. 2013-01-08 19:29:37 +00:00
.arcconfig Add .arcconfig to the repository. Useful if someone wants to use phabricator's command line tool. 2012-12-01 12:08:08 +00:00
.gitignore analyzer: add initial Sphinx configuration 2013-01-02 23:07:22 +00:00
CMakeLists.txt CMake: Make sure to detect LibXml2 when Clang is built standalone 2012-12-18 19:39:40 +00:00
CODE_OWNERS.TXT Duplicate some common owners between Clang and LLVM. 2012-11-27 00:48:12 +00:00
INSTALL.txt
LICENSE.TXT Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
Makefile The top-level clang Makefile is #included into other Makefiles. (sigh) So we 2012-10-03 08:39:19 +00:00
ModuleInfo.txt
NOTES.txt Fix typo (test commit) 2012-10-18 15:24:46 +00:00
README.txt

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:              http://clang.llvm.org/
Building and using Clang:          http://clang.llvm.org/get_started.html
Clang Static Analyzer:             http://clang-analyzer.llvm.org/
Information on the LLVM project:   http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/