https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68118
Joseph S. Myers <jsm28 at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- Not a bug; the textual output of the preprocessor is intended to be suitable for relexing as C and producing the correct sequence of preprocessing tokens from that relexing, which requires spaces to be inserted in some places. If you stringize the result of the expansion, you will see that the string produced does not have the extra space, in accordance with the C standard, which defines textual output only to the extent that it is stringized.