summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-06-07 01:48:56 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-06-07 01:48:56 +0000
commitc9817fdf1667262d9217d22bf5392ba95b948281 (patch)
tree89f7dc6f19406db3c67845c860ec122c6ddb3711 /clang/test
parent8d6151fd296f7f86a8fe6fddc1dcb2c474cb3e11 (diff)
downloadbcm5719-llvm-c9817fdf1667262d9217d22bf5392ba95b948281.tar.gz
bcm5719-llvm-c9817fdf1667262d9217d22bf5392ba95b948281.zip
When we're synthesizing copy/move-assignment, we can't form a reference to an
invalid field; make sure we don't try. Fixes <rdar://problem/14084171>. llvm-svn: 183479
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaCXX/member-init.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/member-init.cpp b/clang/test/SemaCXX/member-init.cpp
index 19e8e7597e8..6e4fd5df5a0 100644
--- a/clang/test/SemaCXX/member-init.cpp
+++ b/clang/test/SemaCXX/member-init.cpp
@@ -89,3 +89,14 @@ namespace PR14838 {
const function &r; // expected-note {{reference member declared here}}
} af;
}
+
+namespace rdar14084171 {
+ struct Point { // expected-note 3 {{candidate constructor}}
+ double x;
+ double y;
+ };
+ struct Sprite {
+ Point location = Point(0,0); // expected-error {{no matching constructor for initialization of 'rdar14084171::Point'}}
+ };
+ void f(Sprite& x) { x = x; }
+}
OpenPOWER on IntegriCloud