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

--- Comment #16 from Pedro Alves <palves at redhat dot com> ---
(In reply to Manuel López-Ibáñez from comment #15)

> But I can see that one may wrongly write:
> 
> void bar(int x)
> {
>     if (x)
>         MACRO_WITH_ELSE(x)
>     if(!x)
>        return; 
> }
> 
> and not be aware that the macro changes the meaning of the following 'if'.

This could also be sorted out with indentation level tracking -- the if binds
to the else in the macro, but it is not indented as one would expect if it was
meant to.

Reply via email to