https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119753
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Bogdan from comment #2) > GCC does use the options specified in the standard. I think it would be more accurate to say that the standard specifies the options that GCC (and traditional UNIX cc compilers) use. POSIX-1.2017 said very little about the format of preprocessor output, just: "If the -E option is specified, the standard output shall be a text file that represents the results of the preprocessing stage of the language; it may contain extra information appropriate for subsequent compilation passes." The text you quote is new in POSIX.1-2024, so GCC's preprocessor format is much, much older. But it only says: "it may contain extra information appropriate for subsequent compilation passes and shall contain at least one line with the format ..." And GCC does that. So GCC is already conforming, and your scripts to process the preprocessor output are failing to handle "extra information appropriate for subsequent compilation passes".