
John Maddock wrote:
Please build the test program with optimisations turned on: many compilers make non-IEEE arithmetic assumptions once you tell them to optimise the code.
Results for QNX 6.3.0 using the gcc 3.3.5 compiler and the Dinkum libraries. Optimisation does not affect the results. Running 1 test case... Platform has isnan macro. Platform has fpclassify macro. Platform has FP_NORMAL macro. FP_ZERO: 0 FP_NORMAL: -1 FP_INFINITE: 1 FP_NAN: 2 FP_SUBNORMAL: -2 Testing type float classify.cc(130): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(t) == (int)(-2) failed [-1 != -2] classify.cc(131): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(-t) == (int)(-2) failed [-1 != -2] Testing type double classify.cc(130): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(t) == (int)(-2) failed [-1 != -2] classify.cc(131): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(-t) == (int)(-2) failed [-1 != -2] Testing type long double classify.cc(130): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(t) == (int)(-2) failed [-1 != -2] classify.cc(131): error in "test_main_caller( argc, argv )": check (::pending::fpclassify)(-t) == (int)(-2) failed [-1 != -2] *** 6 failures detected in test suite "Test Program" Regards Jim Douglas