On Mon, Mar 20, 2017 at 10:44:25AM -0600, Martin Sebor wrote: > > /home/marek/src/gcc/gcc/sanitizer.def:459:1: note: in expansion of macro > > ‘DEF_SANITIZER_BUILTIN’ > > DEF_SANITIZER_BUILTIN(BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT > > I would view these as helpful errors and expect them to be fixed > by terminating the macro invocations with a semicolon rather than > by adding it to the macro definition itself. Is there a problem > with doing that that I'm not considering?
There is a problem with it, as I wrote. The macros are used e.g. like: #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) ENUM, enum built_in_function { #include "builtins.def" }; (similarly for the names various other cases). If the *.def files contain the semicolon, then this is not possible. Jakub