Hi Scott. > > While I 100% agree, one thing I really cant stand, is when 3rd party vendors, > DISABLE WARNINGS in their code, and don't re-enable them when their code > exits (Im looking at you Qt). > > Im not a g++ guru, but in VC++ #pragma( push) and #pragma( pop ) should be a > requirement for all 3rd party headers that disable warnings. > > Off my soapbox now >
You are completely right, albeit there is a macro you can define so qt does not switch of the warnings, but then you get warnings, bad if you compile with warnings as errors. Our solution ist to have a Qt_prolog.h and Qt_epilog.h which we use before and after every include of a qt header and do the push/pop. To be honest we also have that for windows header as these are also rising warnings at W$ level. Qt 5.5 even introduced a new warning in W4 Level of MSVC by the way Q_ASSERT is defined now, which you can’t avoid with the epilog/prolog warning push/pop . There is a https://codereview.qt-project.org/#/c/109099/ <https://codereview.qt-project.org/#/c/109099/> change but that got not much attention so the qt5.5 release caters the new warning. We avoid it be redefining Q_ASSERT in a warning free way in our Qt_epilog.h. Regards, Gunnar
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest