GCC warns for: #define A(b) #b A(\ \\)
but not for: #define A(b) #b A(\`\\) or seemingly any other character but space. While "\ " is not a valid escape in a string, neither is \` or \Z. Either all or none should be warned about. Further, the string should not be chopped into the really illegal result: "\ \" Which is what A(\ \\) currently preprocesses to with -E. -Chris -- Summary: stringify (#) operator broken Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sabre at nondot dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28388