Using i686-4.9.1-release-win32-dwarf-rt_v3-rev0.7z on Windows 7 64 bit,
with this simple code:

#include <stdio.h>

struct stype { ~stype() {} };
void t() { stype s; throw 1; }

int main() {
  try { t(); }
  catch (...) { puts("Caught"); }
}

When compiling with:

  gcc a.cpp -lstdc++ & a

the exception is not caught but

  gcc -shared-libgcc a.cpp -lstdc++ & a

does work. I know that  -shared-libgcc is needed for exceptions to work
between modules, but this is the same module...

Also, if the stype class is deleted then both compile lines work.

Any idea what is happening?

Yaron
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to