← Back to context

Comment by quietbritishjim

5 hours ago

> ... why would you do it when you can simply keep the compiler targeting 11 ...

It doesn't appear to me that the parent comment was implying otherwise.

The default is changing for any compilation that doesn't explicitly specify a standard version. I would have thought that the build process for a compiler is likely careful enough that it does explicitly specify a version.

> It's the type of dog fooding they should be doing! It's one reason why people care so much about self-hosted compilers, it's a demonstration of maturity of the language/compiler.

I could be misreading this, but unless they have a different understanding of what it means to dog fooding than I do then it seems like the proposal is to use C++20 features in the compiler bootstraping.

  • I believe they are really referring to the default mode used by GCC when no standard is explicitly stated.

    The email mentions that the last time they changed it was 5 years ago in GCC 11, and the link <https://gcc.gnu.org/projects/cxx-status.html#cxx17> indeed says

    > C++17 mode is the default since GCC 11; it can be explicitly selected with the -std=c++17 command-line flag, or -std=gnu++17 to enable GNU extensions as well.

    which does not imply a change in an obscure feature (bootstrapping) that would only affect a few users.