summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/expr
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CXX/expr')
-rw-r--r--clang/test/CXX/expr/expr.const/p2-0x.cpp2
-rw-r--r--clang/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp5
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/test/CXX/expr/expr.const/p2-0x.cpp b/clang/test/CXX/expr/expr.const/p2-0x.cpp
index bcf45a0c05b..249e5527243 100644
--- a/clang/test/CXX/expr/expr.const/p2-0x.cpp
+++ b/clang/test/CXX/expr/expr.const/p2-0x.cpp
@@ -277,7 +277,7 @@ namespace UndefinedBehavior {
// - a lambda-expression (5.1.2);
struct Lambda {
- int n : []{ return 1; }(); // expected-error {{constant expression}} expected-error {{integral constant expression}}
+ int n : []{ return 1; }(); // expected-error {{constant expression}} expected-error {{integral constant expression}} expected-note {{non-literal type}}
};
// - an lvalue-to-rvalue conversion (4.1) unless it is applied to
diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp
index 562f92a78bb..c0fa72ba42f 100644
--- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp
+++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp
@@ -3,4 +3,9 @@
void test_nonaggregate(int i) {
auto lambda = [i]() -> void {}; // expected-note 3{{candidate constructor}}
decltype(lambda) foo = { 1 }; // expected-error{{no matching constructor}}
+ static_assert(!__is_literal(decltype(lambda)), "");
+
+ auto lambda2 = []{}; // expected-note {{lambda}}
+ decltype(lambda2) bar = {}; // expected-error{{call to implicitly-deleted default constructor}}
+ static_assert(!__is_literal(decltype(lambda2)), "");
}
OpenPOWER on IntegriCloud