llvm-project/clang
Douglas Gregor 0070c0bfbe Introduce TargetInfo::hasFeature() to query various feature names in
each of the targets. Use this for module requirements, so that we can
pin the availability of certain modules to certain target features,
e.g., provide a module for xmmintrin.h only when SSE support is
available.

Use these feature names to provide a nearly-complete module map for
Clang's built-in headers. Only mm_alloc.h and unwind.h are missing,
and those two are fairly specialized at the moment. Finishes
<rdar://problem/10710060>.

llvm-svn: 149227
2012-01-30 06:38:25 +00:00
..
INPUTS Enhance the CFG construction to detect no-return destructors for 2011-09-13 06:09:01 +00:00
bindings/python Add CXX_FINAL_ATTR, CXX_OVERRIDE_ATTR, ANNOTATE_ATTR and ASM_LABEL_ATTR to the 2011-12-30 15:27:22 +00:00
docs The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable 2012-01-24 19:25:38 +00:00
examples Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built 2012-01-26 03:33:40 +00:00
include Introduce TargetInfo::hasFeature() to query various feature names in 2012-01-30 06:38:25 +00:00
lib Introduce TargetInfo::hasFeature() to query various feature names in 2012-01-30 06:38:25 +00:00
runtime Use the new installheaders makefile target in libcxx. 2012-01-21 06:25:34 +00:00
test Introduce TargetInfo::hasFeature() to query various feature names in 2012-01-30 06:38:25 +00:00
tools Added source location for the template keyword in AST template-id expressions. 2012-01-27 09:46:47 +00:00
unittests Thread a TargetInfo through to the module map; we'll need it for 2012-01-30 06:01:29 +00:00
utils [analyzer] Add the HTML file to the SATest diagnostic diff. 2012-01-24 21:57:35 +00:00
www Post link to checker-260, which is checker-259 with some experimental checks enabled. 2012-01-26 03:02:34 +00:00
.gitignore Revert "Test commit" 2011-10-24 10:03:25 +00:00
CMakeLists.txt Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built 2012-01-26 03:33:40 +00:00
INSTALL.txt
LICENSE.TXT Happy new year 2012! 2012-01-01 08:16:56 +00:00
Makefile Add the Clang tblgen backends to Clang, and flip the switch to cause 2011-10-06 13:03:08 +00:00
ModuleInfo.txt
NOTES.txt Make a note about a missing optimization. 2011-07-28 07:41:22 +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/