hanchenye-llvm-project/clang
Douglas Gregor a6e053e61a Variadic templates: extend the Expr class with a bit that specifies
whether the expression contains an unexpanded parameter pack, in the
same vein as the changes to the Type hierarchy. Compute this bit
within all of the Expr subclasses.

This change required a bunch of reshuffling of dependency
calculations, mainly to consolidate them inside the constructors and
to fuse multiple loops that iterate over arguments to determine type
dependence, value dependence, and (now) containment of unexpanded
parameter packs.

Again, testing is painfully sparse, because all of the diagnostics
will change and it is more important to test the to-be-written visitor
that collects unexpanded parameter packs.

llvm-svn: 121831
2010-12-15 01:34:56 +00:00
..
INPUTS
bindings/python
clang.xcodeproj Add BlocksAttr assert on __block specific 2010-12-06 17:28:17 +00:00
docs Fix documentation typo, from nobled. 2010-12-14 16:21:49 +00:00
examples Merge System into Support. 2010-11-29 18:12:39 +00:00
include Variadic templates: extend the Expr class with a bit that specifies 2010-12-15 01:34:56 +00:00
lib Variadic templates: extend the Expr class with a bit that specifies 2010-12-15 01:34:56 +00:00
runtime Fix build of in-tree libcxx. libcxx doesn't actually 2010-12-01 20:38:11 +00:00
test Variadic templates: extend the Expr class with a bit that specifies 2010-12-15 01:34:56 +00:00
tools Added missing IgnoreParens(). 2010-12-14 22:11:44 +00:00
utils Minor fix for clang-completion-mode, from Dve Abrahams 2010-12-14 16:52:29 +00:00
www c/objc/c++'98 are basically done, but we want '0x support. 2010-12-06 19:46:27 +00:00
CMakeLists.txt Copied some flags from the Makefile build to the list of GCC flags. 2010-10-15 00:16:22 +00:00
INSTALL.txt
LICENSE.TXT
Makefile Makefile: Follow r118918, to add configuration "ENABLE_DOCS". 2010-11-14 03:29:27 +00:00
ModuleInfo.txt
NOTES.txt
README.txt
TODO.txt Another dummy commit to check GIT mirroring 2010-12-10 12:03:06 +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.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/