summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/expr/expr.prim/expr.prim.lambda
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-02-08 20:17:14 +0000
committerDouglas Gregor <dgregor@apple.com>2012-02-08 20:17:14 +0000
commit21f4692c622fedfecab3571c12b37ce6d72a4c0e (patch)
tree7ef454ac96de782a2e69463642b7d51c787ad2d1 /clang/test/CXX/expr/expr.prim/expr.prim.lambda
parentc68bf4c036a51c3d1e686b94d2567eb61a766b02 (diff)
downloadbcm5719-llvm-21f4692c622fedfecab3571c12b37ce6d72a4c0e.tar.gz
bcm5719-llvm-21f4692c622fedfecab3571c12b37ce6d72a4c0e.zip
When completing a lambda expression, make sure to check and attach the
body of the lambda to the function call operator. llvm-svn: 150087
Diffstat (limited to 'clang/test/CXX/expr/expr.prim/expr.prim.lambda')
-rw-r--r--clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp4
-rw-r--r--clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp12
2 files changed, 14 insertions, 2 deletions
diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp
index a02340f8b96..7264fa18d06 100644
--- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp
+++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp
@@ -5,6 +5,6 @@ class NonCopyable {
};
void capture_by_ref(NonCopyable nc, NonCopyable &ncr) {
- [&nc] {}; // expected-error{{lambda expressions are not supported yet}}
- [&ncr] {}; // expected-error{{lambda expressions are not supported yet}}
+ [&nc] () -> void {}; // expected-error{{lambda expressions are not supported yet}}
+ [&ncr] () -> void {}; // expected-error{{lambda expressions are not supported yet}}
}
diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
new file mode 100644
index 00000000000..239b6d4f469
--- /dev/null
+++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
+
+// Check that analysis-based warnings work in lambda bodies.
+void analysis_based_warnings() {
+ []() -> int { }; // expected-warning{{control reaches end of non-void function}} \
+ // expected-error{{lambda expressions are not supported yet}}
+}
+
+// FIXME: Also check translation of captured vars to data members,
+// most of which isn't in the AST.
+
+
OpenPOWER on IntegriCloud