>  #define macro2a(par)            \
>          par++;                  \
>          func(buf, 1, 17)
>
> Nothing happens here either.

May I see also the complete source code examples?


> Because the final ; is omitted the body of the macro is not valid C.

I suggest to reconsider also this view.


> But it doesn't work if you add a semicolon at the end either.
> It seems that a sequence of statements is not supported either.

Do such software limitations become more interesting?


> On the other hand, if you transform it into a do while(0),
> even with no trailing semicolon after the while (0) all is fine.

Such a coding style can also help.
How will the affected software components be improved further?

Regards,
Markus
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to