[Bug c/91973] gcc failed for Multiple level macro expansion

qinzhao at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 2 21:49:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91973

--- Comment #4 from qinzhao at gcc dot gnu.org ---
(In reply to joseph@codesourcery.com from comment #3)
> Macro replacement for function-like macros is defined in C17 6.10.3.  
> Note in paragraph 10 the words "the function-like macro name followed by a 
> ( as the next preprocessing token".  In your example foo ends up followed 
> by ) not ( as the next preprocessing token.
could you please explain a little more of the above, for the following macro
definition:

#define  foo(addr) \
  boo (addr)

foo is followed by ( but not ), right? do I miss anything here?


More information about the Gcc-bugs mailing list