From 7e1fd018a8c1a9e192616195419f41787c41249b Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Tue, 11 Mar 2014 20:32:35 +0000 Subject: Improving test coverage for lambda expressions with attribute specifiers. llvm-svn: 203602 --- clang/test/Parser/cxx0x-lambda-expressions.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'clang/test/Parser/cxx0x-lambda-expressions.cpp') diff --git a/clang/test/Parser/cxx0x-lambda-expressions.cpp b/clang/test/Parser/cxx0x-lambda-expressions.cpp index 6d39a730478..e4151dc8888 100644 --- a/clang/test/Parser/cxx0x-lambda-expressions.cpp +++ b/clang/test/Parser/cxx0x-lambda-expressions.cpp @@ -24,7 +24,6 @@ class C { [] () -> 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 @@ class C { 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 {}; + +} }; -- cgit v1.2.3