From a7f8f754e36e2d788fe653d87a6689a43716d523 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Tue, 11 Mar 2014 20:32:35 +0000 Subject: [PATCH] Improving test coverage for lambda expressions with attribute specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203602 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Parser/cxx0x-lambda-expressions.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/Parser/cxx0x-lambda-expressions.cpp b/test/Parser/cxx0x-lambda-expressions.cpp index 6d39a73047..e4151dc888 100644 --- a/test/Parser/cxx0x-lambda-expressions.cpp +++ b/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 {}; + +} }; -- 2.40.0