diff options
author | bde <bde@FreeBSD.org> | 2007-06-11 07:48:52 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2007-06-11 07:48:52 +0000 |
commit | c7b78b63dbcccbf4001f5c8811f673cbff1250b0 (patch) | |
tree | c9e69810a5115096b6b4922030e967392926c533 /lib | |
parent | 03d7eb7b8e955a1e30d98ca540d5421f41cbf16f (diff) | |
download | FreeBSD-src-c7b78b63dbcccbf4001f5c8811f673cbff1250b0.zip FreeBSD-src-c7b78b63dbcccbf4001f5c8811f673cbff1250b0.tar.gz |
Fix an aliasing bug which was finally detected by gcc-4.2. fdlibm has
hundreds of similar aliasing bugs, but all except this one seem to have
been fixed by Cygnus and/or NetBSD before the modified version of fdlibm
was imported into FreeBSD in 1994.
PR: standards/113147
Submitted by: Steve Kargl <sgk@troutmask.apl.washington.edu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/msun/src/s_frexpf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/msun/src/s_frexpf.c b/lib/msun/src/s_frexpf.c index 1952836..477807b 100644 --- a/lib/msun/src/s_frexpf.c +++ b/lib/msun/src/s_frexpf.c @@ -39,6 +39,6 @@ frexpf(float x, int *eptr) } *eptr += (ix>>23)-126; hx = (hx&0x807fffff)|0x3f000000; - *(int*)&x = hx; + SET_FLOAT_WORD(x,hx); return x; } |