frexp, tests: work around ICC bug with -zero
[gnulib.git] / tests / test-roundl.c
index fca60f0..f06db8a 100644 (file)
@@ -29,25 +29,10 @@ SIGNATURE_CHECK (roundl, long double, (long double));
 
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
+#include "minus-zero.h"
 #include "nan.h"
 #include "macros.h"
 
-/* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
-   So we use minus_zero instead.
-   IRIX cc can't put -0.0L into .data, but can compute at runtime.
-   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
-static long double
-compute_minus_zero (void)
-{
-  return -LDBL_MIN * LDBL_MIN;
-}
-# define minus_zero compute_minus_zero ()
-#else
-long double minus_zero = -0.0L;
-#endif
-
 int
 main ()
 {
@@ -57,7 +42,7 @@ main ()
 
   /* Zero.  */
   ASSERT (roundl (0.0L) == 0.0L);
-  ASSERT (roundl (minus_zero) == 0.0L);
+  ASSERT (roundl (minus_zerol) == 0.0L);
   /* Positive numbers.  */
   ASSERT (roundl (0.3L) == 0.0L);
   ASSERT (roundl (0.5L) == 1.0L);