https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91085
--- Comment #15 from Bruce Korb <bkorb at gnu dot org> --- Obviously, "print_quote()" was needed early on (1999) and then saved for prosperity :). Your patch is inadequate because it will have to not expand 'linux' in a line such as: #if __has_include(<linux/foo.h>) In other words, it will have to skip over three flavors of quote. Or just two, if you omit apostrophe quotes. In any event, the '<' character will have to be matched with '>', which is a tiny change to the logic. Don't forget to add tests in the final result.