aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/init/new11.C
blob: a13f262aa64ab75674837fadf96ed6932e3cbed1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// PR c++/17670
// { dg-do run }

#include <cstdlib>
#include <new>

bool abort_new;
void *operator new[](size_t bytes)
#if __cplusplus <= 199711L
  throw (std::bad_alloc)
#endif
{
  if (abort_new)
    abort(); 
  return operator new (bytes);
}


struct X {};  
int main () {
  // Do not abort until main is running in case startup code uses
  // operator new[].
  abort_new = true;
  new (X);
}