re PR c++/2123 (Array initializer)

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
This commit is contained in:
Paul Brook 2004-04-05 23:02:22 +00:00 committed by Paul Brook
parent 268d3b1832
commit 67c55b2293
5 changed files with 57 additions and 16 deletions

View 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

View 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);
}

View 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);
}

View 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);
}

View 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);
}