blob: 27eb6d55da047ea0c1dec9adeeadc30212d59962 [file] [log] [blame]
// { dg-do run }
// Test whether N::operator new is different from ::operator new
#include <new>
#include <cstdlib>
bool success;
namespace N{
void* operator new(size_t n){
success = true;
return std::malloc(n);
}
}
void *operator new(size_t n)throw(std::bad_alloc)
{
static bool entered = false;
if(entered)
throw std::bad_alloc();
entered = true;
void *result = N::operator new(n);
entered = false;
return result;
}
int main()
{
try{
new int;
}catch(...){
return 1;
}
return success?0:1;
}