Improving test coverage for lambda expressions with attribute specifiers.
llvm-svn: 203602
diff --git a/clang/test/Parser/cxx0x-lambda-expressions.cpp b/clang/test/Parser/cxx0x-lambda-expressions.cpp
index 6d39a730..e4151dc 100644
--- a/clang/test/Parser/cxx0x-lambda-expressions.cpp
+++ b/clang/test/Parser/cxx0x-lambda-expressions.cpp
@@ -24,7 +24,6 @@
[] () -> class C { return C(); };
[] () -> enum E { return e; };
- [] [[fake_ident]] { while (1) ; }; // expected-error {{lambda requires '()' before attribute specifier}} expected-warning {{unknown attribute 'fake_ident' ignored}}
[] -> int { return 0; }; // expected-error{{lambda requires '()' before return type}}
[] mutable -> int { return 0; }; // expected-error{{lambda requires '()' before 'mutable'}}
[](int) -> {}; // PR13652 expected-error {{expected a type}}
@@ -65,4 +64,16 @@
return x + 2;
} ();
}
+
+ void attributes() {
+ [] [[]] {}; // expected-error {{lambda requires '()' before attribute specifier}}
+ []() [[]]
+ mutable {}; // expected-error {{expected body of lambda expression}}
+
+ []() [[]] {};
+ []() [[]] -> void {};
+ []() mutable [[]] -> void {};
+ []() mutable noexcept [[]] -> void {};
+
+}
};