diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fba069a711..e6e298a1cbd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2017-11-05 Tom de Vries + + PR other/82784 + * asan.c (DEF_SANITIZER_BUILTIN_1): Factor out of ... + (DEF_SANITIZER_BUILTIN): ... here. + (initialize_sanitizer_builtins): Use DEF_SANITIZER_BUILTIN_1 instead of + DEF_SANITIZER_BUILTIN in if stmt. Add missing semicolon. + 2017-11-05 Tom de Vries PR other/82784 diff --git a/gcc/asan.c b/gcc/asan.c index cd1a5617a98..ca5fceed9fc 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -2805,14 +2805,17 @@ initialize_sanitizer_builtins (void) #define ATTR_PURE_NOTHROW_LEAF_LIST ECF_PURE | ATTR_NOTHROW_LEAF_LIST #undef DEF_BUILTIN_STUB #define DEF_BUILTIN_STUB(ENUM, NAME) -#undef DEF_SANITIZER_BUILTIN -#define DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ +#undef DEF_SANITIZER_BUILTIN_1 +#define DEF_SANITIZER_BUILTIN_1(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); + } while (0) +#undef DEF_SANITIZER_BUILTIN +#define DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ + DEF_SANITIZER_BUILTIN_1 (ENUM, NAME, TYPE, ATTRS); #include "sanitizer.def" @@ -2821,10 +2824,11 @@ initialize_sanitizer_builtins (void) DEF_SANITIZER_BUILTIN here only as a convenience macro. */ if ((flag_sanitize & SANITIZE_OBJECT_SIZE) && !builtin_decl_implicit_p (BUILT_IN_OBJECT_SIZE)) - DEF_SANITIZER_BUILTIN (BUILT_IN_OBJECT_SIZE, "object_size", - BT_FN_SIZE_CONST_PTR_INT, - ATTR_PURE_NOTHROW_LEAF_LIST) + DEF_SANITIZER_BUILTIN_1 (BUILT_IN_OBJECT_SIZE, "object_size", + BT_FN_SIZE_CONST_PTR_INT, + ATTR_PURE_NOTHROW_LEAF_LIST); +#undef DEF_SANITIZER_BUILTIN_1 #undef DEF_SANITIZER_BUILTIN #undef DEF_BUILTIN_STUB }