summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/lambda-expressions.cpp
diff options
context:
space:
mode:
authorFaisal Vali <faisalv@yahoo.com>2013-09-29 20:00:15 +0000
committerFaisal Vali <faisalv@yahoo.com>2013-09-29 20:00:15 +0000
commitdb29268b10a99e56d9daeacf0cf4ce563b3bed92 (patch)
treeb9d39d76f420eac7f1f5f77be209f2ccce4d4088 /clang/test/SemaCXX/lambda-expressions.cpp
parent155c9d5d97385499f0b5edc4260ec2cf1f724d9b (diff)
downloadbcm5719-llvm-db29268b10a99e56d9daeacf0cf4ce563b3bed92.tar.gz
bcm5719-llvm-db29268b10a99e56d9daeacf0cf4ce563b3bed92.zip
Fix computation of linkage within nested lambdas.
When nested lambdas are used in NSDMI's - this prevents infinite recursion. See http://llvm-reviews.chandlerc.com/D1783 for Doug's approval regarding the code, and then request for some tests. [On a related note, I need this patch so as to pass tests of transformations of nested lambdas returned from member functions] llvm-svn: 191645
Diffstat (limited to 'clang/test/SemaCXX/lambda-expressions.cpp')
-rw-r--r--clang/test/SemaCXX/lambda-expressions.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/lambda-expressions.cpp b/clang/test/SemaCXX/lambda-expressions.cpp
index e8e2eb612a0..e2904247c4b 100644
--- a/clang/test/SemaCXX/lambda-expressions.cpp
+++ b/clang/test/SemaCXX/lambda-expressions.cpp
@@ -265,3 +265,21 @@ namespace TypeDeduction {
#endif
}
}
+
+
+namespace lambdas_in_NSDMIs {
+ template<class T>
+ struct L {
+ T t{};
+ T t2 = ([](int a) { return [](int b) { return b; };})(t)(t);
+ };
+ L<int> l;
+
+ namespace non_template {
+ struct L {
+ int t = 0;
+ int t2 = ([](int a) { return [](int b) { return b; };})(t)(t);
+ };
+ L l;
+ }
+} \ No newline at end of file
OpenPOWER on IntegriCloud