hanchenye-llvm-project/clang/lib
Douglas Gregor 0c46b2b7ce Introduce support for template instantiation of lambda
expressions. This is mostly a simple refact, splitting the main "start
a lambda expression" function into smaller chunks that are driven
either from the parser (Sema::ActOnLambdaExpr) or during AST
transformation (TreeTransform::TransformLambdaExpr). A few minor
interesting points:

  - Added new entry points for TreeTransform, so that we can
  explicitly establish the link between the lambda closure type in the
  template and the lambda closure type in the instantiation.
  - Added a bit into LambdaExpr specifying whether it had an explicit
  result type or not. We should have had this anyway.

This code is 'lightly' tested.

llvm-svn: 150417
2012-02-13 22:00:16 +00:00
..
ARCMigrate Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
AST Introduce support for template instantiation of lambda 2012-02-13 22:00:16 +00:00
Analysis Tweak format string checking to work with %@ and ObjC toll-free bridging. <rdar://problem/10814120> 2012-02-06 21:45:29 +00:00
Basic Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by Sascha Wildner. 2012-02-10 23:02:29 +00:00
CodeGen Add back in the code to create forward decls using temporary mdnodes. 2012-02-13 15:08:45 +00:00
Driver When generating diagnostic information due to a clang failure, allow multiple 2012-02-13 18:16:28 +00:00
Frontend [libclang] Indexing API: Fully index implict template instantiations. 2012-02-10 20:10:44 +00:00
FrontendTool Make use of const-correct ParseCommandLineOptions 2012-02-07 19:36:38 +00:00
Headers Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector. 2012-02-08 07:33:36 +00:00
Index More dead code removal (using -Wunreachable-code) 2012-01-20 21:50:17 +00:00
Lex Implement warning for non-wide string literals with an unexpected encoding. Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>. 2012-02-11 05:08:10 +00:00
Parse Proper initializer list support for new expressions and type construct expressions. Array new still missing. 2012-02-12 18:41:05 +00:00
Rewrite modern objc translator. More ivar rewrite work. 2012-02-13 21:34:45 +00:00
Sema Introduce support for template instantiation of lambda 2012-02-13 22:00:16 +00:00
Serialization Within the body of a lambda expression, decltype((x)) for an 2012-02-12 18:42:33 +00:00
StaticAnalyzer [analyzer] Malloc Checker: realloc: correct the way we are handing the 2012-02-13 20:57:07 +00:00
CMakeLists.txt The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00
Makefile The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00