[Development] status of exception handling on windows and mdvc compiler
gunnar.roth at gmx.de
Fri Aug 7 16:52:49 CEST 2015
> Am 07.08.2015 um 23:33 schrieb Joerg Bornemann <joerg.bornemann at theqtcompany.com>:
> On 07-Aug-15 15:30, Gunnar Roth wrote:
>> i accidentally stumbled over this:
>> MSVC2015: Disable warning C4577 ('noexcept' used with no exception handling mode specified).
>> When compiling qt.5.5 with vs2015 i saw these many errors myself. But is
>> it the real solution to disable that warning instead not using noexcept
>> when exceptions are off ( using a Q_NOEXCEPT macro)
> If this warning would help catching any bugs then I'd agree. But it's useless for code that should build with and without exception support.
Is this so? When i use exception features, and i have not switched on exception a warning is appreciated.
is QMAKE_CXXFLAGS_WARN_ON also used by qmake based user projects? So every warning switched off there i also get switched off?
So this would be a second way for warnings be switched off , next to global.h. Actually this is something i would not like so much.
>> If not using exceptions on msvc how are you able to detect new
>> failures? Is qt linking to nothrow.obj?
> Qt is not linking to nothrow.obj and does not handle out of memory situations.
Really? Not even for big allocation as they can happen in QImage?
>> as a side topic i found
>> and this arises the qustion how am i supposed to add my own option?
>> making my own mkspec?
> See https://codereview.qt-project.org/#/c/122939/ <https://codereview.qt-project.org/#/c/122939/>
> You could create a new mkspec or modify an existing one
Ok the latter I did, as i maintain quite some patches for our Qt 5 build, so one more doesn’t matter.
> For your own projects you can modify QMAKE_CXXFLAGS in your .pro file.
Sure. But my question was solely about Qt build.
But still my question about exception handling on/off default is unanswered.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Development