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
               ^

Reply via email to