Or you could really start confusing people with more obscure semicolon swallowers
#define SOME_MACRO(x) \
if (x) \
{ \
foo(); \
} \
[](){}()
But I’m guessing that most of those are for Set/Get
macros, and I can’t think of any good way to require a semicolon on them.
Edit: appending struct {}
or enum {}
work to silence -Wextra-semi
, but throw new warnings under -Wpedantic