summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaCXX/copy-initialization.cpp17
-rw-r--r--clang/test/SemaCXX/direct-initializer.cpp6
2 files changed, 20 insertions, 3 deletions
diff --git a/clang/test/SemaCXX/copy-initialization.cpp b/clang/test/SemaCXX/copy-initialization.cpp
new file mode 100644
index 00000000000..17028da0692
--- /dev/null
+++ b/clang/test/SemaCXX/copy-initialization.cpp
@@ -0,0 +1,17 @@
+// RUN: clang -fsyntax-only -verify %s
+
+class X {
+public:
+ explicit X(const X&);
+ X(int*); // expected-note{{candidate function}}
+ explicit X(float*);
+};
+
+class Y : public X { };
+
+void f(Y y, int *ip, float *fp) {
+ X x1 = y; // expected-error{{no matching constructor for initialization of 'x1'; candidates are:}}
+ X x2 = 0;
+ X x3 = ip;
+ X x4 = fp; // expected-error{{incompatible type initializing 'x4', expected 'class X'}}
+}
diff --git a/clang/test/SemaCXX/direct-initializer.cpp b/clang/test/SemaCXX/direct-initializer.cpp
index 952e1322999..d5b91bb2b71 100644
--- a/clang/test/SemaCXX/direct-initializer.cpp
+++ b/clang/test/SemaCXX/direct-initializer.cpp
@@ -20,9 +20,9 @@ public:
X(float, Y); // expected-note{{candidate function}}
};
-class Z { // expected-note{{candidate function}}
+class Z {
public:
- Z(int); // expected-note{{candidate function}}
+ Z(int);
};
void g() {
@@ -32,5 +32,5 @@ void g() {
Y y(1.0);
X x4(3.14, y);
- Z z; // expected-error{{no matching constructor for initialization of 'z'; candidates are:}}
+ Z z; // expected-error{{no matching constructor for initialization of 'z'}}
}
OpenPOWER on IntegriCloud