isinfl(-inf) should return -1. This worked with GCC 4.0. With GCC 4.3, the return value is 1.
The follwing code can be used to reproduce the error: #include <stdio.h> #include <math.h> int main() { long double value1 = -1/0.0; //HUGE_VALL; int rc = isinfl(value1); printf("value1: %Lf isinfl(value1)=%d\n", value1, rc ); return 0; } -- Summary: isinfl(-inf) returns 1 Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: grxnprzn at gmx dot net GCC build triplet: i586-suse-linux GCC host triplet: i586-suse-linux GCC target triplet: i586-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38023