[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