------- Comment #29 from jakub at gcc dot gnu dot org 2009-04-28 23:56 ------- The glibc macro AFAIK does: # define signbit(x) \ (sizeof (x) == sizeof (float) \ ? __signbitf (x) \ : sizeof (x) == sizeof (double) \ ? __signbit (x) : __signbitl (x)) when __NO_LONG_DOUBLE_MATH is not defined. For long double x when sizeof (double) == sizeof (long double) AFAIK this is folded to __signbit (x) immediately, already in the *.original dump, at -O0 and higher, so I have no idea how you could ever wind up calling __signbitl. Please explain.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39491