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

#include <cstdlib>
#include <new>

bool abort_new;
void *operator new[](size_t bytes) throw (std::bad_alloc) { 
  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);
}