mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 01:40:39 +08:00
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:
parent
268d3b1832
commit
67c55b2293
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user