Messages in this thread | | | Subject | Re: [PATCH] ubsan: don't mark __ubsan_handle_builtin_unreachable as noreturn | From | Andrey Ryabinin <> | Date | Mon, 5 Feb 2018 13:31:25 +0300 |
| |
On 02/05/2018 01:15 PM, Arnd Bergmann wrote: > On Mon, Feb 5, 2018 at 10:02 AM, Andrey Ryabinin > <aryabinin@virtuozzo.com> wrote: >> >> >> On 02/02/2018 06:47 PM, Arnd Bergmann wrote: >>> gcc-8 complains about the prototype for this function: >>> >>> lib/ubsan.c:432:1: error: ignoring attribute 'noreturn' in declaration of a built-in function '__ubsan_handle_builtin_unreachable' because it conflicts with attribute 'const' [-Werror=attributes] >>> >> >> That's actually a bug in GCC. In GCC __ubsan_handle_builtin_unreachable declared >> with 'noreturn' and 'const' attributes: >> >> DEF_SANITIZER_BUILTIN(BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE, >> "__ubsan_handle_builtin_unreachable", >> BT_FN_VOID_PTR, >> ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST) >> >> >> But const attribute doesn't make any sense for function that returns void or doesn't return at all. >> Given that gcc-8 has not released yet, it would be better to fix this bug there. > > Ok. Should I open a gcc bug, or will you take care of it? >
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84210
> Arnd >
| |