[Bug c++/40918] uncaught_exception() returns wrong (inverted) value if some exception have crossed a DLL boundary before
dannysmith at users dot sourceforge dot net
gcc-bugzilla@gcc.gnu.org
Fri Jul 31 04:18:00 GMT 2009
------- Comment #2 from dannysmith at users dot sourceforge dot net 2009-07-31 04:18 -------
(In reply to comment #0)
> I was not able to reproduce the bug on Linux, so I assume this is a
> Windows-specific.
>
> If an exception is generated inside shared library (DLL), then crosses the
> DLL-boundary and gets caught in some other module, the std::uncaught_exception
> will always return wrong (inverted) value from now on. Here's a small test
> case.
>
You need to link against a shared libgcc and a shared libstdc++ for this to
work. Shared libgcc is part of standard build now for mingw Shared libstdc++
is close.
http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01042.html
Danny
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40918
More information about the Gcc-bugs
mailing list