FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.ns / new1.C
blob9ffd247ef759eeb55d5efd8169887c0155bdd725
1 // Test whether N::operator new is different from ::operator new
2 #include <new>
3 #include <cstdlib>
5 bool success;
7 namespace N{
8   void* operator new(size_t n){
9     success = true;
10     return std::malloc(n);
11   }
14 void *operator new(size_t n)throw(std::bad_alloc)
16   static bool entered = false;
17   if(entered)
18     throw std::bad_alloc();
19   entered = true;
20   void *result = N::operator new(n);
21   entered = false;
22   return result;
25 int main()
27   try{
28     new int;
29   }catch(...){
30     return 1;
31   }
32   return success?0:1;