]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/testsuite/ld-elf/dl5.cc
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-elf / dl5.cc
CommitLineData
40b36307
L
1#include <stdio.h>
2#include <stdlib.h>
3#include <new>
4
5int pass = 0;
6
7void *
8operator new (size_t sz, const std::nothrow_t&) throw ()
9{
10 void *p;
11 pass++;
12 p = malloc(sz);
13 return p;
14}
15
16void *
17operator new (size_t sz) throw (std::bad_alloc)
18{
19 void *p;
20 pass++;
21 p = malloc(sz);
22 return p;
23}
24
25void
26operator delete (void *ptr) throw ()
27{
28 pass++;
29 if (ptr)
30 free (ptr);
31}
32
33class A
34{
35public:
36 A() {}
37 ~A() { }
38 int a;
39 int b;
40};
41
42
43int
44main (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}