https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118519
Bug ID: 118519 Summary: Escaped line breaks in the middle of a token Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: alx at kernel dot org Target Milestone: --- Once upon a time, this probably made sense due to hardware or software limitations. These days, it doesn't make sense anymore. We should add a diagnostic when an escaped line break breaks a token. alx@devuan:~/tmp/gcc$ cat split.c #define A\ B \ 4\ 2 int ma\ in(void) { return AB; } alx@devuan:~/tmp/gcc$ cc -Wall -Wextra split.c alx@devuan:~/tmp/gcc$ ./a.out alx@devuan:~/tmp/gcc$ echo $? 42 --- Or: alx@devuan:~/tmp/gcc$ cat split.c #d\ e\ f\ i\ n\ e \ A\ B \ 4\ 2 i\ n\ t m\ a\ i\ n ( v\ o\ i\ d) { r\ e\ t\ u\ r\ n AB; } alx@devuan:~/tmp/gcc$ cc -Wall -Wextra split.c alx@devuan:~/tmp/gcc$ ./a.out; echo $? 42