re PR c++/2123 (Array initializer)
authorPaul Brook <paul@codesourcery.com>
Mon, 5 Apr 2004 23:02:22 +0000 (23:02 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Mon, 5 Apr 2004 23:02:22 +0000 (23:02 +0000)
PR2123
* g++.gd/expr/anew1.C: XFAIL and make reproducible.  Call abort on
failure and exit(0) on success.
* g++.gd/expr/anew2.C: Ditto.
* g++.gd/expr/anew3.C: Ditto.
* g++.gd/expr/anew4.C: Ditto.

From-SVN: r80440

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/expr/anew1.C
gcc/testsuite/g++.dg/expr/anew2.C
gcc/testsuite/g++.dg/expr/anew3.C
gcc/testsuite/g++.dg/expr/anew4.C

index 2d088b68b5e806a53fe85b3f7aac87925103c5af..0fcc366c937cfb488bcee804c340105311795503 100644 (file)
@@ -1,3 +1,12 @@
+2004-04-05  Paul Brook  <paul@codesourcery.com>
+
+       PR2123
+       * g++.gd/expr/anew1.C: XFAIL and make reproducible.  Call abort on
+       failure and exit(0) on success.
+       * g++.gd/expr/anew2.C: Ditto.
+       * g++.gd/expr/anew3.C: Ditto.
+       * g++.gd/expr/anew4.C: Ditto. 
+
 2004-04-05  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/3518
index a14408ace0ab23b2f2197cb5c010d3f458c9be8d..9e0d0ec601f9512c50426152307fc9c6cb9243f1 100644 (file)
@@ -1,12 +1,20 @@
-// { dg-do run }
+// { dg-do run { xfail *-*-* } }
+// XFAILed until PR2123 is fixed
 // PR 11228: array operator new, with zero-initialization and a variable sized array.
 // Regression test for PR 
 // Author: Matt Austern <austern@apple.com>
 
 
+#include <new>
+#include <stdlib.h>
+#include <string.h>
+
 int* allocate(int n)
 {
-  return new int[n]();
+  void *p;
+  p = malloc(n * sizeof (int));
+  memset (p, 0xff, n * sizeof(int));
+  return new (p) int[n]();
 }
 
 int main()
@@ -15,6 +23,6 @@ int main()
   int* p = allocate(n);
   for (int i = 0; i < n; ++i)
     if (p[i] != 0)
-      return 1;
-  return 0;
+      abort ();
+  exit (0);
 }
index b8681897577b0cf5113a23f1166a38306393b0b9..aa11eef149ca50057f8038bdc6f5bca0760f1264 100644 (file)
@@ -1,12 +1,20 @@
-// { dg-do run }
+// { dg-do run { xfail *-*-* } }
+// XFAILed until PR2123 is fixed
 // PR 11228: array operator new, with zero-initialization and a variable sized array.
 // Regression test for PR 
 // Author: Matt Austern <austern@apple.com>
 
 
+#include <new>
+#include <stdlib.h>
+#include <string.h>
+
 double* allocate(int n)
 {
-  return new double[n]();
+  void *p;
+  p = malloc(n * sizeof (double));
+  memset (p, 0xff, n * sizeof(double));
+  return new (p) double[n]();
 }
 
 int main()
@@ -15,6 +23,6 @@ int main()
   double* p = allocate(n);
   for (int i = 0; i < n; ++i)
     if (p[i] != 0.0)
-      return 1;
-  return 0;
+      abort ();
+  exit (0);
 }
index 3223546d4c8da8f780f76b3a964c847e8aa7c04b..c8ab44183ca5fa0a84347251b82de43719e7cfcf 100644 (file)
@@ -1,8 +1,13 @@
-// { dg-do run }
+// { dg-do run { xfail *-*-* } }
+// XFAILed until PR2123 is fixed
 // PR 11228: array operator new, with zero-initialization and a variable sized array.
 // Regression test for PR 
 // Author: Matt Austern <austern@apple.com>
 
+#include <new>
+#include <stdlib.h>
+#include <string.h>
+
 struct X
 {
   int a;
@@ -11,7 +16,10 @@ struct X
 
 X* allocate(int n)
 {
-  return new X[n]();
+  void *p;
+  p = malloc(n * sizeof (X));
+  memset (p, 0xff, n * sizeof(X));
+  return new (p) X[n]();
 }
 
 int main()
@@ -20,6 +28,6 @@ int main()
   X* p = allocate(n);
   for (int i = 0; i < n; ++i)
     if (p[i].a != 0 || p[i].b != 0.0)
-      return 1;
-  return 0;
+      abort ();
+  exit (0);
 }
index 8999ffb53c6d7162f2b5f597d1697ea9c8e28953..d86d52514121768447eda7b542a0fe30c612ed87 100644 (file)
@@ -1,8 +1,13 @@
-// { dg-do run }
+// { dg-do run { xfail *-*-* } }
+// XFAILed until PR2123 is fixed
 // PR 11228: array operator new, with zero-initialization and a variable sized array.
 // Regression test for PR 
 // Author: Matt Austern <austern@apple.com>
 
+#include <new>
+#include <stdlib.h>
+#include <string.h>
+
 struct B
 {
   B();
@@ -23,7 +28,10 @@ struct D : public B
 
 D* allocate(int n)
 {
-  return new D[n]();
+  void *p;
+  p = malloc(n * sizeof (D));
+  memset (p, 0xff, n * sizeof(D));
+  return new (p) D[n]();
 }
 
 int main()
@@ -32,6 +40,6 @@ int main()
   D* p = allocate(n);
   for (int i = 0; i < n; ++i)
     if (p[i].n != 137 || p[i].x != 0)
-      return 1;
-  return 0;
+      abort ();
+  exit (0);
 }