llvm-project/clang/lib
Douglas Gregor 476e3029ec Implement basic support for the use of variadic templates and blocks
together. In particular: 
  - Handle the use of captured parameter pack names within blocks
  (BlockDeclRefExpr understands parameter packs now)
  - Handle the declaration and expansion of parameter packs within a block's
  parameter list, e.g., ^(Args ...args) { ... })
  - Handle instantiation of blocks where the return type was not
  explicitly specified. (unrelated, but necessary for my tests).

Together, these fixes should make blocks and variadic templates work
reasonably well together. Note that BlockDeclRefExpr is still broken
w.r.t. its computation of type and value dependence, which will still
cause problems for blocks in templates.

llvm-svn: 123849
2011-01-19 21:32:01 +00:00
..
AST Implement basic support for the use of variadic templates and blocks 2011-01-19 21:32:01 +00:00
Analysis Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
Basic lib/Basic/Targets.cpp: __builtin_va_list is as same on win64 mingw64! 2011-01-17 22:56:23 +00:00
CodeGen Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
Driver improve compatibility with GCC: when generating the ".d" filename to use 2011-01-16 08:14:11 +00:00
Frontend Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
FrontendTool Chris Lattner has strong opinions about directory 2010-12-23 19:38:26 +00:00
Headers Optimized IR for vec_splat 2010-12-01 21:59:31 +00:00
Index Fix CMake clangIndex library dependencies, from Logan Chien 2010-09-20 18:32:29 +00:00
Lex When redefining a macro don't warn twice if it's not used and don't warn for duplicate 2011-01-18 19:50:15 +00:00
Parse Implement support for non-type template parameter packs whose type is 2011-01-19 20:10:05 +00:00
Rewrite Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
Sema Implement basic support for the use of variadic templates and blocks 2011-01-19 21:32:01 +00:00
Serialization Implement support for non-type template parameter packs whose type is 2011-01-19 20:10:05 +00:00
StaticAnalyzer Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
CMakeLists.txt Chris Lattner has strong opinions about directory 2010-12-23 19:38:26 +00:00
Makefile Chris Lattner has strong opinions about directory 2010-12-23 19:38:26 +00:00