Hi everyone,

I am in the process of uploading a GCC 4.8 experimental build fo 64-bit Windows. It uses MinGW-w64 and GCC trunk (soon to be 4.8).

It employs the new SEH for C++ (and other languages') exception handling. This will supercede sjlj exception handling for Win64 and is enabled in GCC 4.8 by default. It should perform better than sjlj and be compatible with foreign dll's like sjlj (in contrast to dw2). It is the best of both worlds. MSVC uses the same mechanism, but this does not mean C++ code is magically compatible. ABI is still incompatibly different between the two compilers.

I had to apply this bug's patch:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314

Which is not strictly correct (the export is added under a wrong library version if I'm not mistaken) so this toolchain will most likely not be compatible with the final GCC 4.8.0.

If anyone would like to compare performance of seh vs sjlj, please inform the list. I could build a sjlj GCC 4.8 to make it a really fair comparison, but I think a rough GCC 4.7 sjlj vs GCC 4.8 seh comparison will speak for itself. I believe Jonathan Liu contacted me via github for a 32-bit dw2 build for performance reasons due to sjlj being too slow. It would be great if you could rerun that little test you ran back then.

Enjoy,

Ruben

PS: Downloads available here:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.8-experimental-seh/
http://sourceforge.net/projects/mingw-w64/files/Toolchain%20sources/Personal%20Builds/rubenvb/experimental/