------- Comment #1 from fxcoudert at gcc dot gnu dot org 2007-10-01 13:13 ------- Can you compile and run the following C test code? (gcc -std=c99, or the system compiler)
#include <math.h> #include <stdio.h> int main (void) { printf ("%ld %ld %ld\n", lround (nextafter(0.5,-9.0)), lround (0.5), lround (nextafter(0.5,9.0))); } It should print "0 1 1". If it prints "1 1 1", then your system libm has a bug. (HP-UX is not alone there, as we already discovered such a problem in AIX and powerpc-glibc, see PR33271). In that case, you might want to file a bug-report to HP, and I will xfail the testcase on hppa-hpux. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33595