Attached patch makes __builtin_signbit type-generic in the middle-end (PR 
36757).
Error message will be issued (from gcc/c-family/c-common.c) if argument is not 
real (or too few, or too many).
gcc_assert() is used in expand_builtin_signbit() it cases that should be 
unreachable (failure to expand inline).

Tested on x86_64-apple-darwin14, OK to commit?

FX


gcc/

2015-08-17  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>

        PR middle-end/36757
        * builtins.c (expand_builtin_signbit): Add asserts to make sure
        we can expand BUILT_IN_SIGNBIT inline.
        * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
        * doc/extend.texi: Document the type-generic __builtin_signbit.

gcc/c-family/

2015-08-17  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>

        PR middle-end/36757
        * c-common.c (check_builtin_function_arguments): Add check
        for BUILT_IN_SIGNBIT argument.

gcc/testsuite/

2015-08-17  Francois-Xavier Coudert  <fxcoud...@gcc.gnu.org>

        PR middle-end/36757
        * gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
        * gcc.dg/tg-tests.h: Add checks for __builtin_signbit.

Attachment: signbit.diff
Description: Binary data

Reply via email to