Files
freebsd/contrib/libstdc++
David E. O'Brien 1fa470027f MFC: bring in GCC 2.95.3 + official sjlj exception fixes.
Approved by:	jkh

The the setjump/longjump exception handling fixes are from GCC 2.95.3.test3
and were removed from GCC 2.95.3.test4 and the subsequent release due
to bootstrap problems on HP-UX.  However, they were very well tested and
fixed major problems on all other platforms.  Including all the all the BSD's.
OpenBSD and FreeBSD 5-current both use these official sjlj patches.

W/o this upgrade the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0) on 4.2FreeBSD.
There are some large C++ libraries where segfaults also occur, even at -O.

#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;
}
2001-04-10 19:23:41 +00:00
..
2000-03-30 08:22:06 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-11-01 07:24:11 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00
1999-10-04 08:12:38 +00:00