WARNING: macros should not use a trailing semicolon