Are -static -ltcg -debug-and-release x86 builds tested and supported? It seems 
that they are broken on at least MSVC 2015 and 2017, in both 5.7 and 5.8. 
That's using most recent production releases of either version of MSVC (no 
prereleases etc), and I build using most recent jom.

For me; 5.8 in a debug build corrupts the heap early during static 
initialization and doesn't even get to main's body. A release build is will 
generally crash somewhere but due to lack of heap diagnostics it will get to 
run first, on a partially corrupted heap. 

5.7 crashes in the release if you as much as use add a shortcut to a dummy 
widget and then return from main. Seems to be a different face of the same 
problem, although the debug version didn't crash. 

IIRC 5.6 was also crashing for me.

Since this is reproducible on 2 different machines, and seems to point to a 
persistent problem - did anyone else run into it?

I will file bug reports but would want to know first whether it's anything 
known. To be completely frank, I couldn't get any Qt version between 5.6 and 
5.8, inclusive, to work under either MSVC 2015 or 2017 with -static -ltcg so it 
seems like an untested configuration that's exposing undefined behavior 
somewhere as the whole thing is globally optimized.

I kinda need this to work. Unless I hear better ideas, I plan on stripping away 
code to see what it takes to make it not crash. With 5.8 it crashes even with 
no plugins linked in, the heap corruption is detected in a heap free from one 
of the Q_GLOBAL_STATICs in somewhere in Qt.

Cheers, Kuba Ober
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to