1 // { dg-do run  }
2 #include <iostream>
3 #include <cstdlib>
4 #include <cstddef>
5 #include <new>
6 
7 int fail = 1;
8 
9 int in_main = 0;
10 
new(size_t size)11 void *operator new(size_t size)
12 #if __cplusplus <= 199711L
13   throw (std::bad_alloc)
14 #endif
15 {
16   if (!in_main) return malloc (size);
17   --fail;
18   return (void*) 0;
19 }
20 
main()21 int main() {
22   std::cout << "";
23   in_main = 1;
24   new int;
25   return fail;
26 }
27