summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/new1.C18
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
index 6c455078c5f..993b9601e71 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
@@ -1,5 +1,7 @@
1999-07-01 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * new1.C: New test.
+
* partord1.C: New test.
* template1.C: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
new file mode 100644
index 00000000000..8cdffccbb41
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
@@ -0,0 +1,18 @@
+// Copyright (C) 1999 Free Software Foundation
+
+// by Alexandre Oliva <oliva@dcc.unicamp.br>
+
+// based on comp.std.c++ post by Alexander Schiemann <aschiem@math.uni-sb.de>
+
+// execution test - XFAIL *-*-*
+
+#include <new>
+
+struct A {
+ A() { throw 0; }
+ void* operator new(size_t size, double = 0.0) { return ::operator new(size);}
+ void operator delete(void* p, double) { exit(0); }
+ void operator delete(void* p) { abort(); }
+};
+
+int main() { try { new A; } catch(...) {} }
OpenPOWER on IntegriCloud