aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2003-03-21 02:12:50 -0500
committerJason Merrill <jason@gcc.gnu.org>2003-03-21 02:12:50 -0500
commitc77e05977761f777de04518f07184fd70d91d254 (patch)
tree06b1ab910b50c5f99eb2b6c36e4f2701acc4ea06
parentb10af5a4195beb420ce352cb8a989acea810053b (diff)
downloadgcc-c77e05977761f777de04518f07184fd70d91d254.zip
gcc-c77e05977761f777de04518f07184fd70d91d254.tar.gz
gcc-c77e05977761f777de04518f07184fd70d91d254.tar.bz2
PR c++/8316, c++/9315, c++/10136
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
-rw-r--r--gcc/testsuite/g++.dg/overload/new1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/overload1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new2.C21
3 files changed, 23 insertions, 23 deletions
diff --git a/gcc/testsuite/g++.dg/overload/new1.C b/gcc/testsuite/g++.dg/overload/new1.C
new file mode 100644
index 0000000..7f89358
--- /dev/null
+++ b/gcc/testsuite/g++.dg/overload/new1.C
@@ -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 "" }
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/overload1.C b/gcc/testsuite/g++.old-deja/g++.ext/overload1.C
index d99e04f..b1e96b5 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/overload1.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/overload1.C
@@ -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
index 9a6e051..0000000
--- a/gcc/testsuite/g++.old-deja/g++.other/new2.C
+++ /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 -