To C++11 or not?

Martin Gräßlin mgraesslin at kde.org
Mon Nov 14 09:45:07 UTC 2016


Hi framework devs,

recently we started to see the first patches for frameworks to silence 
warnings for not used features of C++11. In particular to add override 
to methods of inheriting classes.

Now I find this weird from the perspective of our C++ requirements. On 
the one side we say that we are not allowed to use these features to 
still support non-C++11 compilers on the other side we see that 
compilers already generate warnings if you don't use the C++11 features.

In that particular case I do not think that Q_DECL_OVERRIDE is a 
solution. It's an ugly hack and for the frameworks I maintain I gave a 
-2 on the review. I think this needs a general solution of either not 
adding or adding override, but not the Qt hack.

I think this is a sign that we need to move on. We cannot continue with 
the state we are in. It's too much a hassle for developers:
* false-positive compile warnings
* no way to check which features are allowed or not
* no warnings if a not allowed feature is used
* no CI system in place to ensure our rules

Given that I want to suggest that we remove all compiler restrictions 
and allow the full feature set of C++11. If someone still thinks we need 
to support the compilers not supporting C++11, I would like to see a 
plan on how we can improve the developer story, especially how to 
address the last two points in my list above.

Opinions?

Cheers
Martin


More information about the Kde-frameworks-devel mailing list