PR c++/8316, c++/9315, c++/10136
authorJason Merrill <jason@gcc.gnu.org>
Fri, 21 Mar 2003 07:12:50 +0000 (02:12 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 21 Mar 2003 07:12:50 +0000 (02:12 -0500)
        PR c++/8316, c++/9315, c++/10136
        * call.c (print_z_candidate): Split out from...
        (print_z_candidiates): ...here.
        (joust): Use it.

From-SVN: r64650

gcc/testsuite/g++.dg/overload/new1.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.ext/overload1.C
gcc/testsuite/g++.old-deja/g++.other/new2.C [deleted file]

diff --git a/gcc/testsuite/g++.dg/overload/new1.C b/gcc/testsuite/g++.dg/overload/new1.C
new file mode 100644 (file)
index 0000000..7f89358
--- /dev/null
@@ -0,0 +1,21 @@
+typedef __SIZE_TYPE__ size_t;
+void *operator new(size_t, unsigned int);
+
+struct X{
+  X();
+  X(int);
+};
+
+
+void f(X *x = new X);          // { dg-error "" } 
+
+void f(X *x = new X(4));       // { dg-error "" } 
+
+void f(X *x = new X[4]);       // { dg-error "" } 
+
+void f(X *x = new (3) X(6));   // { dg-error "" } 
+
+void f(X *x = new (2) X[10]);  // { dg-error "" } 
+// { dg-error "candidate" "" { target *-*-* } 00 }
+
+void f(X *x = new X[10][5]);   // { dg-error "" } 
index d99e04fecb897940f06feddda0844a633c6b123b..b1e96b5e6a2520d4ecc4aec62b7770eb3bf125e1 100644 (file)
@@ -11,8 +11,8 @@ struct X
 {
   X (int);
 };
-void Foo (int, float, bool);
-void Foo (float, int, X);
+void Foo (int, float, bool);   // WARNING - candidate
+void Foo (float, int, X);      // WARNING - candidate
 
 void Baz ()
 {
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new2.C b/gcc/testsuite/g++.old-deja/g++.other/new2.C
deleted file mode 100644 (file)
index 9a6e051..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-//Build don't link:
-typedef __SIZE_TYPE__ size_t;
-void *operator new(size_t, unsigned int);
-
-struct X{
-  X();
-  X(int);
-};
-
-
-void f(X *x = new X);          // ERROR - 
-
-void f(X *x = new X(4));       // ERROR - 
-
-void f(X *x = new X[4]);       // ERROR - 
-
-void f(X *x = new (3) X(6));   // ERROR - 
-
-void f(X *x = new (2) X[10]);  // ERROR - 
-
-void f(X *x = new X[10][5]);   // ERROR -