On Thursday 05 March 2015 13:59:01 Stephen Kelly wrote: > Hello, > > After commit ebef2ad1 (Make the empty Q_ASSERT still check its > argument for validity, 2014-09-11), there are two source > incompatibilities compared to Qt 5.4. I understand the message in the > commit. > > The following code fails to compile with -DQT_NO_DEBUG: > > sic.cpp:10:14: error: use of undeclared identifier 'checkInvariant' > Q_ASSERT(checkInvariant()); > ^
This is not specific to Clang, it should happen with every compiler. This was intentional and the minor SIC was expected. It only happens if you're calling a static function that only exists for Q_ASSERT -- not many people do that. > If compiled with ccache, there is a second problem if used with > -Werror=unreachable-code: > > sic.cpp:10:29: error: code will never be executed > [-Werror,-Wunreachable-code] > do { } while (false && (checkInvariant())); > ^~~~~~~~~~~~~~ > sic.cpp:10:19: note: silence by adding parentheses to mark code as > explicitly dead > do { } while (false && (checkInvariant())); > ^ > /* DISABLES CODE */ ( ) Interesting, will implement this. > If we want this source compatibility, both of these issues should be > mentioned in the release notes. I'll add the note to the Q_ASSERT and will add the parentheses. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development