I totally agree that you can't decide whether a refactoring is required or not for quite a long time. But this language has been around for more than 2 decades, and documented since 2001 [1]. Moreover all main issues were already present at that point and even more options and features were added since then (e.g. `%:sanitizer()` should have been added after sanitizers themselves, i.e. 2012). I think 21 years are long enough to do something about it.
Again no argument there. Don’t want to imply the intend of the parent comment but I hear it quite often at work that new people come into projects etc and declare statements backed by virtue of looking at all the facts long after all decisions had been made. I think with projects like GCC any decision should be waited for the long game. In commercial software the pesky labor and maintenance cost also become a factor :(
That's indeed a good point, as I too have been both culprit and victim of this issue. My general sentiment was that this is mostly about management, i.e. how to manage complexity, and this apparent failure can make a good counterexample, but I was not careful enough to put a disclaimer that GCC may have a totally good reason to leave it as is (if it's the case, the reason is probably that only a small number of people will ever work with this language). Thank you for explicitly voicing that concern.
[1] https://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#SEC18