https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106429
--- Comment #11 from Martin Vahi <martin.vahi at softf1 dot com> --- (In reply to Andrew Pinski from comment #10) > It should be noted almost nobody does "make clean" really. Most just remove > the build directory instead. > Is there a reason why you build scripts are doing "make clean"? For me the "make clean" is a standard feature that is like the close button at the corner of a window. For me, the fact that someone does not bother to use the close button at the corner of the window is not an excuse, why the button at the corner of the window should not work as expected. The same with the "make clean": it is nice to do it automatically just to make sure that I won't waste my human-life-minutes/hours on some triviality that comes from leaving old build results laying around. Actually, with some projects, I do not remember, which, there was a distinction between "make clean" and "make clear", where the "make clear" reset the source tree to the state as it is expected to be after fresh checkout and the "make clean" was allowed to not delete all build system generated files. For example, different developers may use different hardware/build_machines, but between the builds by a single developer on the same machine the build machine hardware specification does not change, so hardware related information might be "cached" by the build system. That is to say, the "make clean" might intentionally not remove hardware related autodetected information and the "make clear" would also delete hardware related autodetected information. Anyways, I understand that the "make clear" part might be a bit esoteric, but in my view the "make clean" is mainstream enough to be expected to work without crashing. Thank You for the answer and thank You for reading my comment :-)