To C++11 or not?

Dominik Haumann dhaumann at kde.org
Mon Nov 14 18:21:06 UTC 2016


Hi,

On Mon, Nov 14, 2016 at 10:45 AM, Martin Gräßlin <mgraesslin at kde.org> wrote:
> 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?

The KTextEditor framework already uses e.g. override and nullptr in
some places, and no one complained so far.

Given that even in old distros like CentOS 6 with dev-toolset-3 you
get a gcc 4.9.3 with full C++11 support, I also think we should allow
all of C++11.

Greetings
Dominik


More information about the Kde-frameworks-devel mailing list