From: Martin v. Löwis Date: Fri, 14 Jan 2000 23:43:19 +0000 (+0000) Subject: New test case. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2aabbd80d97e60361f5017aa142814ea946a252;p=gcc.git New test case. From-SVN: r31432 --- diff --git a/gcc/testsuite/g++.old-deja/g++.ns/new1.C b/gcc/testsuite/g++.old-deja/g++.ns/new1.C new file mode 100644 index 00000000000..9ffd247ef75 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/new1.C @@ -0,0 +1,33 @@ +// Test whether N::operator new is different from ::operator new +#include +#include + +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; +}