Print this page

        

@@ -35,10 +35,11 @@
 double
 nextafter(double x, double y) {
         int             hx, hy, k;
         double          ans;
         unsigned        lx;
+        volatile double dummy;
 
         hx = ((int *)&x)[HIWORD];
         lx = ((int *)&x)[LOWORD];
         hy = ((int *)&y)[HIWORD];
         k = (hx & ~0x80000000) | lx;

@@ -77,10 +78,10 @@
                 /* overflow */
                 return (_SVID_libm_err(x, y, 46));
 #if !defined(__lint)
         } else if (k == 0) {
                 /* underflow */
-                volatile double dummy = DBL_MIN * copysign(DBL_MIN, x);
+                dummy = DBL_MIN * copysign(DBL_MIN, x);
 #endif
         }
         return (ans);
 }