> On 2/12/20 8:53 PM, David Malcolm wrote:
> The patch will need an update to the docs; search for
> "Tools/packages necessary for building GCC" in
> gcc/doc/install.texi, which currently has some paragraphs labelled:
>    @item ISO C++98 compiler
> that will need changing.

Added this change in the attached patch. I looked through the rest of the docs 
folder for "C++98" mentions and found only those pertaining to using it in GCC 
rather than anything related to bootstrapping. Also did a grep for "C++98" in 
gcc as a whole and didn’t see any other places regarding bootstrapping. 

I modified how we check for C++11 to use "__cplusplus" since type_traits.h can 
be present even without full C++11 support.

Testing on x86_64 on Ubuntu 18.04 with gcc 7.4.0 passes. Forcing bootstrap to 
use gcc 4.7 results in the following configure time error:

**checking that the compiler supports c++11... configure: error: Building GCC 
requires a compiler that supports c++11, such as GCC 4.8.5 or newer**

I believe RedHat has access to bootstrapping on a variety of platforms/native 
targets so if I can get someone to validate on those that would be great! That 
will also give a preview of what targets may have issues before this goes live.

> From: gcc-ow...@gcc.gnu.org <gcc-ow...@gcc.gnu.org> On Behalf Of Mike
> Stump
> Sent: Friday, February 14, 2020 12:50 PM
> I think we should pick not on the basis something unspecific, rather, I'd list
> the 3 5 or 9 systems we check against, and then pick the minimum of them.
> Above I picked 7.4 because it's on 18.04.  I think this  makes for a better
> policy as it's predicable, stable, and in 100 years, I don't think I see the 
> need
> to change the policy.

I agree with Mike on having a policy in place to guide future efforts in this 
area. I'm not certain what type of upgrade cadence is needed (check versioning 
every major Release? Every 2? Note: this doesn't have to be part of the policy) 
but something consistent means (echoing Mike) there's a default mechanism and a 
"schedule" of when things are likely to come down the pipeline. 

Also Segher earlier in the thread linked to a great list compiled by Arnd 
Bergmann that shows Linux recommendations for GCC versioning which looks like a 
reasonable set of systems to check against. Here's the link again for ease of 
finding: 
https://lore.kernel.org/lkml/CAK8P3a3JfUjm88CLqkvAmCoEA1FsmQ33sfHGK4=y5iuhwxe...@mail.gmail.com/

Changelog entry for this patch:

ChangeLog:
2020-02-25 Di Mo  <mod...@microsoft.com>

        * configure.ac: Change bootstrap to test for and require C++11 support
        * configure: regenerate
        * gcc/doc/install.texi: Change bootstrapping requirement to C++11

Modi

Attachment: c++11.patch
Description: c++11.patch

Reply via email to