[Development] Two source incompatibilities in Qt 5.5 with Clang
Oswald Buddenhagen
oswald.buddenhagen at theqtcompany.com
Fri Mar 13 18:22:38 CET 2015
On Fri, Mar 13, 2015 at 06:02:51PM +0100, Olivier Goffart wrote:
> On Friday 13 March 2015 09:08:35 Thiago Macieira wrote:
> > It's a minor SIC and I still call it justified. Anyone who was using #ifndef
> > was making assumptions about Q_ASSERT's internals and how it is declared.
> > We should all agree that making assumptions is a bad idea.
>
> It was documented:
>
> http://doc.qt.io/qt-5/qtglobal.html#Q_ASSERT
> "It does nothing if QT_NO_DEBUG was defined during compilation."
>
"doing nothing" doesn't necessarily imply "ignoring its arguments".
> > As for adding a new macro... I don't want to replace every one of them in
> > Qt.
> >
> > $ git submodule --quiet foreach "git grep Q_ASSERT -- '*.cpp' '*.mm' '*.h'
> > || true" | wc -l
> > 9390
>
> Which can still be done in one line.
>
it's still insane. lots of integrations, history noise, and uglier code.
> But we don't even need to do it. We can leave the old one as it, and use
> Q_ASSERT_UNUSED for the new asserts
>
still ugly.
i suggest to introduce a #define which forces the old behavior.
More information about the Development
mailing list