This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
g++.oliva/delete3.C
- To: Alexandre Oliva <aoliva at redhat dot com>, gcc at gcc dot gnu dot org
- Subject: g++.oliva/delete3.C
- From: Richard Henderson <rth at redhat dot com>
- Date: Sat, 10 Mar 2001 16:31:55 -0800
This test fails with the IA-64 EH library. The two-phase process
means that we discover that there is no handler for the exception
before running cleanups, and we std::terminate.
This is supposed to be a feature, since you get to see from whence
the uncaught exception was thrown, rather than simply seeing an abort
at top of stack or whereever.
Solved simply by catching the exception.
Ok?
r~
* g++.old-deja/g++.oliva/delete3.C (main): Catch the exception.
Index: gcc/testsuite/g++.old-deja/g++.oliva/delete3.C
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/g++.old-deja/g++.oliva/delete3.C,v
retrieving revision 1.2
diff -c -p -d -r1.2 delete3.C
*** delete3.C 2000/06/12 23:48:12 1.2
--- delete3.C 2001/03/11 00:13:40
*************** struct Bar : virtual Foo {
*** 29,36 ****
};
int main() {
! delete [] new Bar[2];
abort();
}
-
-
--- 29,37 ----
};
int main() {
! try {
! delete [] new Bar[2];
! } catch (...) {
! }
abort();
}