summaryrefslogtreecommitdiff
path: root/test/SemaCXX/references.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
commitbfef399519ca9b8a4b4c6b563253bad7e0eeffe0 (patch)
treedf8df0b0067b381eab470a3b8f28d14a552a6340 /test/SemaCXX/references.cpp
parent6a0372513edbc473b538d2f724efac50405d6fef (diff)
Notes
Diffstat (limited to 'test/SemaCXX/references.cpp')
-rw-r--r--test/SemaCXX/references.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/SemaCXX/references.cpp b/test/SemaCXX/references.cpp
index 4f3dab0514b9..37fc2a856fd9 100644
--- a/test/SemaCXX/references.cpp
+++ b/test/SemaCXX/references.cpp
@@ -137,3 +137,10 @@ namespace PR8608 {
// The following crashed trying to recursively evaluate the LValue.
const int &do_not_crash = do_not_crash; // expected-warning{{reference 'do_not_crash' is not yet bound to a value when used within its own initialization}}
+
+namespace ExplicitRefInit {
+ // This is invalid: we can't copy-initialize an 'A' temporary using an
+ // explicit constructor.
+ struct A { explicit A(int); };
+ const A &a(0); // expected-error {{reference to type 'const ExplicitRefInit::A' could not bind to an rvalue of type 'int'}}
+}