https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28388
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #6)
> The infinite loop is still present in GCC 4.3 with
>
> #define A(b) #b
> A(\ \\)
This now seems to work. I can confirm the issue with GCC 4.3 but GCC 7
already does
t.c:2:7: warning: invalid string literal, ignoring final '\'
A(\ \\)
^
t.c:2:7: warning: unknown escape sequence: '\040'
t.c:2:7: error: expected identifier or '(' before string constant
A(\ \\)
^
t.c:1:15: note: in definition of macro 'A'
#define A(b) #b
^