* lib/inttypes_.h: Undo previous change, since it was fixed
[gnulib.git] / tests / test-ldexpl.c
index bc1aeae..97bac54 100644 (file)
 #include <math.h>
 
 #include <float.h>
+#include <stdio.h>
 #include <stdlib.h>
 
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 
-#define ASSERT(expr) if (!(expr)) abort ();
+#define ASSERT(expr) \
+  do                                                                        \
+    {                                                                       \
+      if (!(expr))                                                          \
+        {                                                                   \
+          fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
+          abort ();                                                         \
+        }                                                                   \
+    }                                                                       \
+  while (0)
 
 int
 main ()
@@ -62,16 +72,16 @@ main ()
 
   { /* Positive zero.  */
     x = 0.0L;
-    y = ldexpl (x, 0); ASSERT (y == x);
-    y = ldexpl (x, 5); ASSERT (y == x);
-    y = ldexpl (x, -5); ASSERT (y == x);
+    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));
   }
 
   { /* Negative zero.  */
     x = -0.0L;
-    y = ldexpl (x, 0); ASSERT (y == x);
-    y = ldexpl (x, 5); ASSERT (y == x);
-    y = ldexpl (x, -5); ASSERT (y == x);
+    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));
   }
 
   { /* Positive finite number.  */