2018-02-09 Sebastian Perta <sebastian.perta@renesas.com>
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.brendan / new3.C
blobcc716d5c38fc883587f99e1c0e8bcf8f51f00f3e
1 // This test fails on VxWorks in kernel mode because it depends on the
2 // library version of "::operator new[]" calling the "::operator new"
3 // defined in this module.  This doesn't work because the library version
4 // of "::operator new[]" is built into the kernel itself; library relocations
5 // are resolved when the kernel is linked.
6 // { dg-do run { xfail { powerpc-ibm-aix* || vxworks_kernel } } }
7 // { dg-options "-flat_namespace" { target *-*-darwin[67]* } }
8 // Avoid use of none-overridable new/delete operators in shared
9 // { dg-options "-static" { target *-*-mingw* } }
10 // GROUPS passed operator-new
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <new>
15 int pass = 0;
17 void *operator new(size_t sz)
18 #if __cplusplus <= 199711L
19   throw (std::bad_alloc)
20 #endif
23   void *p;
25   pass = 1;
26   p = malloc(sz);
27   return p;
30 class A {
31 public:
32   A() {}
33   ~A() {}
35   int a;
36   int b;
40 int main()
42   A *bb = new A[10];
43   delete [] bb;
45   if (pass)
46     printf ("PASS\n");
47   else
48     { printf ("FAIL\n"); return 1; }