aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp15
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp10
2 files changed, 25 insertions, 0 deletions
diff --git a/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp b/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp
new file mode 100644
index 0000000000..0bbb9ae744
--- /dev/null
+++ b/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
+
+class NonCopyable {
+ NonCopyable(const NonCopyable&); // expected-note 2 {{implicitly declared private here}}
+};
+
+void capture_by_copy(NonCopyable nc, NonCopyable &ncr) {
+ // FIXME: error messages should talk about capture
+ [nc] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
+ // expected-error{{lambda expressions are not supported yet}}
+ [ncr] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
+ // expected-error{{lambda expressions are not supported yet}}
+}
+
+// FIXME: arrays!
diff --git a/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp b/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp
new file mode 100644
index 0000000000..a02340f8b9
--- /dev/null
+++ b/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
+
+class NonCopyable {
+ NonCopyable(const 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}}
+}