]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-elf/dl5.cc
elf: Add GNU_PROPERTY_UINT32_AND_XXX/GNU_PROPERTY_UINT32_OR_XXX
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-elf / dl5.cc
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <new>
4
5 int pass = 0;
6
7 void *
8 operator new (size_t sz, const std::nothrow_t&) throw ()
9 {
10 void *p;
11 pass++;
12 p = malloc(sz);
13 return p;
14 }
15
16 void *
17 operator new (size_t sz) throw (std::bad_alloc)
18 {
19 void *p;
20 pass++;
21 p = malloc(sz);
22 return p;
23 }
24
25 void
26 operator delete (void *ptr) throw ()
27 {
28 pass++;
29 if (ptr)
30 free (ptr);
31 }
32
33 class A
34 {
35 public:
36 A() {}
37 ~A() { }
38 int a;
39 int b;
40 };
41
42
43 int
44 main (void)
45 {
46 A *bb = new A[10];
47 delete [] bb;
48 bb = new (std::nothrow) A [10];
49 delete [] bb;
50
51 if (pass == 4)
52 {
53 printf ("PASS\n");
54 return 0;
55 }
56 else
57 {
58 printf ("FAIL\n");
59 return 1;
60 }
61 }