X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-ldexpl.c;h=272fc4f0cf2c92691e17d4e3086075e808f7b15e;hb=2c64312ecca19a60629cb929c1ae759109c772b5;hp=9f3de0298b0312df3db0d1c793a8b6def2ef1d42;hpb=e220635fc952c63b533873f2af39ec76aed4b4e3;p=gnulib.git diff --git a/tests/test-ldexpl.c b/tests/test-ldexpl.c index 9f3de0298..272fc4f0c 100644 --- a/tests/test-ldexpl.c +++ b/tests/test-ldexpl.c @@ -39,6 +39,16 @@ } \ while (0) +/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. + So we use minus_zero instead. + Note that the expression -LDBL_MIN * LDBL_MIN does not work on other + platforms, such as when cross-compiling to PowerPC on MacOS X 10.5. */ +#if defined __hpux || defined __sgi +long double minus_zero = -LDBL_MIN * LDBL_MIN; +#else +long double minus_zero = -0.0L; +#endif + int main () { @@ -78,7 +88,7 @@ main () } { /* Negative zero. */ - x = -0.0L; + x = minus_zero; y = ldexpl (x, 0); ASSERT (y == x); ASSERT (signbit (x)); y = ldexpl (x, 5); ASSERT (y == x); ASSERT (signbit (x)); y = ldexpl (x, -5); ASSERT (y == x); ASSERT (signbit (x));