Changing default C++ standard version

GCC already changed default C++ standard version to c++14:

As all c++14 features are already implemented in Clang and this standard is already widely used, it may be good to make this change too.


Thanks, we're aware of this and we've already started looking at how
feasible this is for us.

I have a work-in-progress patch to do this. The change to clang is trivial but the test suite is another story…

I have a problem with this. The issue is not so much whether the
features are implemented or not, but that quite a bit of code is going
to break by semantic changes like user-defined literals or the narrow
warnings. The situation is IMO quite different for C++ compared to C.


Also, almost everyone uses LLVM trunk, while no one uses GCC trunk.
They have time to stabilise on their own, we tend to keep trunk
working at all times.

It's funny that GCC is being more progressive than Clang here, but I'd
say stick with release based announcements. If we announce now and do
that on release 3.7, because GCC may release near us, people might
have to change their build files anyway, so we may be lucky.

Normally, I'd say announce in 3.7, change in 3.8.


It's not about stabilizing. The problem I have with this change is the
set of people having to fix issues are completely disjoint from the set
pushing for this change. Given the amount of semi-unmaintained C++ code
in the wild, this is a serious issue. Just because GCC requires every
distro to patch things doesn't mean that there will be magic new
upstream releases :frowning: