aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 -