https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91085
--- Comment #16 from Xi Ruoyao <xry111 at mengyan1223 dot wang> --- (In reply to Bruce Korb from comment #15) > 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. Simply skipping <...> can be problematic for something like: #if A < B && i386 && C > D #define USE_I386_WORKAROUND #endif