summaryrefslogtreecommitdiff
path: root/test/CXX/expr/expr.prim
diff options
context:
space:
mode:
authorFaisal Vali <faisalv@yahoo.com>2013-10-03 06:29:33 +0000
committerFaisal Vali <faisalv@yahoo.com>2013-10-03 06:29:33 +0000
commit618c28547a7f7cc785a6c6301f79febf5a584f9e (patch)
treef9d971d1b4ea06cabdf6af801512ae21fb0074f2 /test/CXX/expr/expr.prim
parent11f22a35b7f08a8d017f6ab26e440edffc930f96 (diff)
downloadclang-618c28547a7f7cc785a6c6301f79febf5a584f9e.tar.gz
Teach TreeTransform and family how to transform generic lambdas within templates and nested within themselves.
This does not yet include capturing (that is next). Please see test file for examples. This patch was LGTM'd by Doug: http://llvm-reviews.chandlerc.com/D1784 http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130930/090048.html When I first committed this patch - a bunch of buildbots were unable to compile the code that VS2010 seemed to compile. Seems like there was a dependency on Sema/Template.h which VS did not seem to need, but I have now added for the other compilers. It still compiles on Visual Studio 2010 - lets hope the buildbots remain quiet (please!) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191879 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CXX/expr/expr.prim')
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-unimplemented-1y.cpp17
1 files changed, 0 insertions, 17 deletions
diff --git a/test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-unimplemented-1y.cpp b/test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-unimplemented-1y.cpp
index a43a98bb18..92dd7ad187 100644
--- a/test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-unimplemented-1y.cpp
+++ b/test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-unimplemented-1y.cpp
@@ -29,20 +29,3 @@ void test() {
}
-namespace nested_generic_lambdas {
-void test() {
- auto L = [](auto a) -> int {
- auto M = [](auto b, decltype(a) b2) -> int { //expected-error{{unimplemented}}
- return 1;
- };
- M(a, a);
- };
- L(3); //expected-note{{in instantiation of}}
-}
-template<class T> void foo(T) {
- auto L = [](auto a) { return a; }; //expected-error{{unimplemented}}
-}
-template void foo(int); //expected-note{{in instantiation of}}
-}
-
-