On Fri, Nov 22, 2019 at 04:01:43PM -0600, Segher Boessenkool wrote:
On Fri, Nov 22, 2019 at 09:02:05PM +0000, Andrew Dean wrote:
Many systems do not have a system compiler newer than this *four years
old* one. GCC 4.8 is the first GCC version that supports all of
C++11, which is the only reason it would be even near acceptable to
require something this *new*.
Agreed. Note we're even shipping new service packs for SLE12 which has that
"ancient" compiler version (OTOH there _is_ a fully supported GCC 9 available
for SLE12 as well).
So, if we want C++11 then fine. But requiring GCC 9+ isn't going to fly. IIRC
GCC 6 is first having -std=c++14 by default, but unless there's a compelling
reason to use C++14 in GCC I'd rather not do it at this point.
Removing all the workarounds in the tree we have for GCC 4.[12].x would of
course be nice.
But I have to update the testers that still use GCC 4.1.x as host compiler :P
Richard/Segher: Are we in agreement that we can move forward with updating to c++11 as the minimum version? I have made the simple change locally to modify the flag and verified that I got the exact same test results with/without the change. I can look into the work to add a configuration warning if the compiler doesn't support c++11, but wanted to make sure we are on the same page before doing so.
If GCC 4.8.5 works as bootstrap compiler, it is fine with me, and good
progress too. (Which means 4.8.5 has to work for at least all primary
targets.)
What would be the advantage of bumping the requirement now as opposed to at
the start of next stage 1 though? We should be fixing bugs now, not
introduce new features nor do code refactoring.