diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2001-03-24 01:58:31 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2001-03-24 01:58:31 +0000 |
commit | 66d7199d63dd50149e63de8a1ffead30b532eee6 (patch) | |
tree | 4e15b74819832174dd1510759ff5bf2e2cb921a9 /contrib/libf2c/libI77/sue.c | |
parent | 06b8915d1faf919850dd08fb24caab3f447e37b6 (diff) |
Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3
that were removed from GCC 2.95.3.test4 and the subsequent release due
to problems on HP-UX. However, they work just fine on all the BSD's.
W/o these patches the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0):
#include <stdio.h>
class A {
public:
A() { printf("c'tor A\n"); }
~A(){ printf("d'tor A\n"); }
};
class foo : public A {
public:
foo() { printf("C'tor foo\n"); throw 8; }
~foo() { printf("D'tor foo\n"); }
};
int main(){
try { foo fii; }
catch (int){ printf("catch ...\n"); }
return 0;
}
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=74722
Diffstat (limited to 'contrib/libf2c/libI77/sue.c')
0 files changed, 0 insertions, 0 deletions