[Interest] [Mingw-w64-public] Compiling Qt (4 or 5) with "-std=c++11"
K. Frank
kfrank29.c at gmail.com
Fri Mar 22 13:40:08 CET 2013
Hello Ruben!
On Fri, Mar 22, 2013 at 6:22 AM, Ruben Van Boxem
<vanboxem.ruben at gmail.com> wrote:
> 2013/3/22 JonY <jon_y at users.sourceforge.net>
>>
>> On 3/22/2013 11:26, K. Frank wrote:
>> >
>> >> If you're interested in a binary compatibility topic that might affect
>> >> you --
>> >> and since you so kindly brought the mingw community in -- be careful
>> >> about the
>> >> C++ exception model from your mingw compiler. They are
>> >> ...
>> >> The MinGW community needs to
>> >> choose
>> >> one model, once and for all, deprecate all others, period. Just choose
>> >> one,
>> >> any one, provided it's not SJLJ. If your compiler uses SJLJ, run from
>> >> it and
>> >> avoid it like the plague. If that's the only option available, choose
>> >> another
>> >> compiler.
>> >
>> > Yes, another compatibility issue. I've been using the dwarf2 version.
>> >
>> Yes, DW2 is quite frankly broken on Windows, since you'll never be able
>> to recompile system libraries to be able to throw through it (or 3rd
>> party code built with MSVC). It is even more broken on win64.
This is a very real and significant issue, and I would say the word
"broken" is fully correct.
On the other hand in my use cases I don't normally throw exceptions
through system libraries, and knowing that I can't is a reasonable, if
unsatisfying defense.
> I agree with you, but DW2 isn't broken: the use case of using MSVC-built
> code with MinGW-w64 GCC is not common (it usually is the other way around),
> but it is an (the only?) advantage of SJLJ for x86 Windows. On the other
> hand, the performance penalty is real (I've been notified of this by several
> users) and can be "solved" by using the dw2 implementation.
Now I'm confused. Kai said that there's no dw2 for 64-bit mingw-w64.
Your comment sort of implies that there is.
Let me correct myself. I believe that I am using sjlj. After all, I have
libgcc_s_sjlj-1.dll in my mingw-w64 bin directory.
Do your comments about using dw2 then only apply to using 32-bit
mingw-w64?
With (pre-4.8) 64-bit mingw-w64, is there a choice other than sjlj that
I can use so I don't have to incur Thiago's wrath?
> For Win64, GCC 4.8 brings the long-needed seh. I doubt anyone will be using
> sjlj on win64 after that.
I will start a new thread, but I do want to ask about 4.8 and what
mingw-w64 build I should upgrade to.
> Ruben
Thanks for everyone's explanations.
K. Frank
More information about the Interest
mailing list