summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-02-07 10:09:13 +0000
committerDouglas Gregor <dgregor@apple.com>2012-02-07 10:09:13 +0000
commite31e606ff34aea7d248acb4fd3e23383860383e2 (patch)
tree3c7d70e325d2dc894a28b3435315719005a96dac /clang/lib/Sema/TreeTransform.h
parent8392a47174973c3ad8cc1c123364e28d4a4fad0b (diff)
downloadbcm5719-llvm-e31e606ff34aea7d248acb4fd3e23383860383e2.tar.gz
bcm5719-llvm-e31e606ff34aea7d248acb4fd3e23383860383e2.zip
Introduce basic ASTs for lambda expressions. This covers:
- Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions There are a number of FIXMEs, both explicit and implied, including: - Creating a field for a capture of 'this' - Improved diagnostics for initialization failures when capturing variables by copy - Dealing with temporaries created during said initialization - Template instantiation - AST (de-)serialization - Binding and returning the lambda expression; turning it into a proper temporary - Lots and lots of semantic constraints - Parameter pack captures llvm-svn: 149977
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index f011b1b8a2f..ca72bc7d26e 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -7620,6 +7620,13 @@ TreeTransform<Derived>::TransformCXXTemporaryObjectExpr(
template<typename Derived>
ExprResult
+TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr *E) {
+ assert(false && "Lambda expressions cannot be instantiated (yet)");
+ return ExprError();
+}
+
+template<typename Derived>
+ExprResult
TreeTransform<Derived>::TransformCXXUnresolvedConstructExpr(
CXXUnresolvedConstructExpr *E) {
TypeSourceInfo *T = getDerived().TransformType(E->getTypeSourceInfo());
OpenPOWER on IntegriCloud