https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81120
Bug ID: 81120 Summary: __builtin_nansl ("") generates quiet NaN Product: gcc Version: 6.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: danglin at gcc dot gnu.org Target Milestone: --- Host: hppa-unknown-linux-gnu Target: hppa-unknown-linux-gnu Build: hppa-unknown-linux-gnu The following code fails because __builtin_nansl generates a quiet NaN: extern int __issignaling (double); int main (void) { double sNaN = __builtin_nansl (""); if (!__issignaling(sNaN)) return 1; return 0; } .LC0: .word 2146959359 .word -1 (gdb) p/x 2146959359 $1 = 0x7ff7ffff This is a quiet NaN on PA-RISC. __builtin_nans() correctly generates a signaling NaN. long double and double are the same on hppa-linux. The problem causes several glibc testsuite failures.