llvm-project/clang
Richard Smith d88a7f1a92 Re-commit r246497 (and dependent changes r246524 and r246521), reverted in
r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015
rejects-valid.

Original commit message:

[modules] Rework serialized DeclContext lookup table management. Instead of
walking the loaded ModuleFiles looking for lookup tables for the context, store
them all in one place, and merge them together if we find we have too many
(currently, more than 4). If we do merge, include the merged form in our
serialized lookup table, so that downstream readers never need to look at our
imports' tables.

This gives a huge performance improvement to builds with very large numbers of
modules (in some cases, more than a 2x speedup was observed).

llvm-svn: 246582
2015-09-01 20:35:42 +00:00
..
INPUTS
bindings [libclang] Add functions to get information about fields. 2015-04-13 16:55:04 +00:00
cmake/modules
docs Updating the AST matcher documentation with a new entry; NFC. 2015-08-28 19:39:56 +00:00
examples Fixing a build bot break from r240400. 2015-06-23 13:29:33 +00:00
include Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
lib Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
runtime [UBSan] Use shared library for UBSan on OS X (Clang part). 2015-03-23 23:14:05 +00:00
test Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
tools Add a -gmodules option to the driver and a -dwarf-ext-refs to cc1 2015-08-27 19:46:20 +00:00
unittests Adding an AST matcher for namespaceAliasDecl. 2015-08-28 19:39:21 +00:00
utils [ARM NEON] Remove special-case for f16 vcvt handling. NFCI. 2015-08-22 01:30:13 +00:00
www Update mailing list references to lists.llvm.org 2015-08-05 03:55:23 +00:00
.arcconfig Revert r242365. 2015-07-16 00:32:26 +00:00
.clang-format
.clang-tidy
.gitignore Revert r242365. 2015-07-16 00:32:26 +00:00
CMakeLists.txt [CMake][Standalone] Detect Python. Python is used for Lit testing. 2015-08-21 09:38:46 +00:00
CODE_OWNERS.TXT Officially end my reign as owner of the driver. 2015-08-05 14:52:01 +00:00
INSTALL.txt
LICENSE.TXT Update copyright year to 2015. 2015-03-12 01:36:10 +00:00
Makefile [autoconf] Fixing reversed logic introduced r245304. 2015-08-18 21:23:44 +00:00
ModuleInfo.txt
NOTES.txt
README.txt Update mailing list references to lists.llvm.org 2015-08-05 03:55:23 +00:00

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.llvm.org/mailman/listinfo/cfe-dev

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