HardenedBSD/contrib
David E. O'Brien 66d7199d63 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;
}
2001-03-24 01:58:31 +00:00
..
gcc Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3 2001-03-24 01:58:31 +00:00
libf2c
libg++
libio
libobjc Virgin import of GCC 2.95.3's libobjc 2001-03-19 20:56:11 +00:00
libstdc++ Virgin import of GCC 2.95.3's libstdc++ 2001-03-19 20:51:52 +00:00