Comment by kstrauser
4 hours ago
You said:
> This particular compiler does require bootstrapping, and that's obviously what "the compiler" is referring to in that comment.
You have to pick an option: either it requires bootstrapping, or it doesn’t.
As it’s possible to write the C++20 compiler features in C++11 (or whatever GCC or Clang are written in these days), it factually does not require bootstrapping.
Here, "requires bootstrapping" means "gcc needs to be able to build with gcc, including older versions of gcc."
This is going in circles and this is my last comment on it, but here is what I originally replied to:
> So you can never be perfectly bleeding edge as it'd keep you from being able to build your compiler with an older compiler that doesn't support those bleeding edge features.
…as though building the new version of the compiler depended on the features it’s implementing already existing. This is clearly not the case.
You're hallucinating a non-existent premise to the actual conversation that occurred.
The person you responded to answered the question posed by the person that they responded to. And they answered it correctly. Your "counterpoints" are counterpoints to an imaginary argument/claim that no one has actually made. The reason why it's not part of the quote that you pulled out of the other comment is that there's no way to quote the other person saying what you're trying to frame them as having said, because it's not what they were saying. This entire subthread is the result of an unnecessary attempt at a correction that doesn't manage to correct anyone about anything.
The sentence you've quoted is explaining why a new version of the compiler cannot depend on the new features it's implementing. I.e. the first gcc version that supports C++20 cannot be written in C++20.
Which, as you say, is clearly not the case.
I have no idea how you managed to misread the comment so badly, but there we are.