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