diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/fpu/s_nextafterl.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-96/math_ldbl.h | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/sysdeps/i386/fpu/s_nextafterl.c b/sysdeps/i386/fpu/s_nextafterl.c index a905858..2943a61 100644 --- a/sysdeps/i386/fpu/s_nextafterl.c +++ b/sysdeps/i386/fpu/s_nextafterl.c @@ -36,8 +36,9 @@ static char rcsid[] = "$NetBSD: $"; long double x,y; #endif { - int32_t hx,hy,ix,iy; - u_int32_t lx,ly,esx,esy; + u_int32_t hx,hy,ix,iy; + u_int32_t lx,ly; + int32_t esx,esy; GET_LDOUBLE_WORDS(esx,hx,lx,x); GET_LDOUBLE_WORDS(esy,hy,ly,y); @@ -90,7 +91,7 @@ static char rcsid[] = "$NetBSD: $"; else { esx -= 1; hx = hx - 1; - if (esx > 0) + if ((esx&0x7fff) > 0) hx |= 0x80000000; } } else diff --git a/sysdeps/ieee754/ldbl-96/math_ldbl.h b/sysdeps/ieee754/ldbl-96/math_ldbl.h index dccc4a1..1a9b027 100644 --- a/sysdeps/ieee754/ldbl-96/math_ldbl.h +++ b/sysdeps/ieee754/ldbl-96/math_ldbl.h @@ -13,7 +13,7 @@ typedef union struct { unsigned int sign_exponent:16; - unsigned int empty:16; + int empty:16; u_int32_t msw; u_int32_t lsw; } parts; @@ -30,7 +30,7 @@ typedef union { u_int32_t lsw; u_int32_t msw; - unsigned int sign_exponent:16; + int sign_exponent:16; unsigned int empty:16; } parts; } ieee_long_double_shape_type; |