From: Mark R. <mi...@ma...> - 2009-02-20 13:50:15
|
> Was there ever a _release_ of mingw that produced correct output for > multi-threaded exception-infested code? I take the lack of responses to mean that of course every release produces correct output. That is good, and it is what I originally expected. I'm sorry if my question was understood to imply anything else. > I have tested two versions [...] and found both to produce code that > crashes [...] when code like this > > { throw 3; catch (int) { } } > > is executed while more than one thread is running. [...] Good news: I have now found a setup that produces correct code. Bad news: Both compiler versions I tested can also produce incorrect code in combination with certain other libraries. In short: After installing gcc-core-3.4.5-20060117-3.tar.gz, gcc-g++-3.4.5-20060117-3.tar.gz, mingwrt-3.15.1-mingw32.tar.gz, w32api-3.12-mingw32-dev.tar.gz, binutils-2.17.50-20060824-1.tar.gz (using MinGW-5.1.4.exe for the installation) and gtk-dev-2.12.9-win32-2.exe and gtkmm-win32-devel-2.10.11-1.exe exceptions work correctly in multiple threads. Using gcc 3.4.2 (as bundled within devcpp-4.9.9.2_setup.exe) together with the above gtk and gtkmm leads to incorrect executables which crash. Using the above setup with different versions of gtk and gtkmm also led to incorrect output. The details are not interesting, so I will leave them out. All the best and thanks for your time, Mark Roberts |