aarch64: Add DLL import/export to AArch64 target
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / new7.C
blob56ed376d232b678e3a471185e86bb9bbe601ad32
1 // { dg-do run  }
2 // Origin: philip_martin@ntlworld.com
4 #include <new>
6 extern "C" void abort();
8 bool new_flag = false;
9 bool delete_flag = false;
11 struct X {
12   X()
13   {
14     throw 1;
15   }
16   void* operator new ( std::size_t n )
17 #if __cplusplus <= 201402L
18   throw ( std::bad_alloc )                      // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } }
19 #endif
20   {
21     new_flag = true;
22     return ::operator new( n );
23   }
24   void operator delete( void* p, std::size_t n ) throw()
25   {
26     delete_flag = true;
27     ::operator delete( p );
28   }
31 int
32 main()
34   try
35     {
36       X* x = new X; // gcc 3.0 fails to call operator delete when X::X throws
37     }
38   catch ( ... )
39     {
40     }
41   if ( ! new_flag || ! delete_flag )
42     ::abort();