[Development] Two source incompatibilities in Qt 5.5 with Clang
Thiago Macieira
thiago.macieira at intel.com
Fri Mar 13 01:36:29 CET 2015
On Thursday 12 March 2015 23:22:17 Stephen Kelly wrote:
> Thiago Macieira wrote:
> > 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.
>
> Oops, nobody told Allen:
>
> https://github.com/KDAB/GammaRay/commit/44ac33d970e
>
> I think this affects far more code than you seem to think it affects.
>
> What *should* Allen do now?
Option 1: remove the #ifdef and live with warnings from the compiler that some
functions are unused
Option 2: option 1 + Q_DECL_UNUSED on the function
Option 3: option 1 + "force" the using with Q_UNUSED or similar.
> What macro works for multiple versions of Qt?
> Why should everyone define such a macro themselves in their code? How about
> contributing it back to qglobal.h? What would it be called? And to bring
> this full circle, how about swapping the semantic of the old and new macros?
>
> I'm sure you considered not making the SIC change and creating a new macro
> instead. Why did you decide for the SIC?
Two main reasons:
1) it improves existing code, since we can get rid of some #ifdefs
2) it allows us avoid CI integration errors because no one compiled in release
mode before submitting
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list