]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.eh/new2.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.eh / new2.C
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new2.C b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
deleted file mode 100644 (file)
index 316afff..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// Test that a throw in B's constructor destroys the A and frees the memory.
-
-#include <cstddef>
-#include <cstdlib>
-#include <new>
-
-struct A {
-  A();
-  ~A();
-};
-
-struct B {
-  B (A);
-};
-
-void foo (B*);
-
-int newed, created;
-
-int main ()
-{
-  newed = 0; // The libraries might call new before main starts.
-  try {
-    foo (new B (A ()));
-  } catch (...) { }
-
-  return !(!newed && !created);
-}
-
-A::A() { created = 1; }
-A::~A() { created = 0; }
-B::B(A) { throw 1; }
-void foo (B*) { }
-
-void* operator new (size_t size) throw (std::bad_alloc)
-{
-  ++newed;
-  return (void *) std::malloc (size);
-}
-
-void operator delete (void *p) throw ()
-{
-  --newed;
-  free (p);
-}
-