On Mon, Mar 20, 2017 at 09:37:10AM -0400, Jason Merrill wrote:
> On Mon, Mar 20, 2017 at 9:28 AM, Marek Polacek <[email protected]> wrote:
> > #define DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
> > + do { \
> > + decl = add_builtin_function ("__builtin_" NAME, TYPE, ENUM,
> > \
> > + BUILT_IN_NORMAL, NAME, NULL_TREE); \
> > + set_call_expr_flags (decl, ATTRS); \
> > + set_builtin_decl (ENUM, decl, true); \
> > + } while (0);
>
> We leave out the trailing ; in a macro like this.
If we only use them for code, sure. But DEF_*BUILTIN is used also to
define the names, enum values etc. where it needs other separators, so
*.def files don't put any separator after the closing ).
Jakub