summaryrefslogtreecommitdiff
path: root/test/SemaCXX/lambda-invalid-capture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/lambda-invalid-capture.cpp')
-rw-r--r--test/SemaCXX/lambda-invalid-capture.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaCXX/lambda-invalid-capture.cpp b/test/SemaCXX/lambda-invalid-capture.cpp
new file mode 100644
index 0000000000000..32349704caa20
--- /dev/null
+++ b/test/SemaCXX/lambda-invalid-capture.cpp
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+// Don't crash.
+
+struct g {
+ j; // expected-error {{C++ requires a type specifier for all declarations}}
+};
+
+void captures_invalid_type() {
+ g child;
+ auto q = [child]{};
+ const int n = sizeof(q);
+}
+
+void captures_invalid_array_type() {
+ g child[100];
+ auto q = [child]{};
+ const int n = sizeof(q);
+}