aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2003-04-02 09:13:33 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2003-04-02 09:13:33 +0000
commitf875310e629cffdc8dcd96df933c180755fa292a (patch)
tree9a4a2e64f70be27dbc429486a06e568c4dfbf55e /gcc
parent125ca8fde8648d4ec280387f09d96ff004d21766 (diff)
downloadgcc-f875310e629cffdc8dcd96df933c180755fa292a.zip
gcc-f875310e629cffdc8dcd96df933c180755fa292a.tar.gz
gcc-f875310e629cffdc8dcd96df933c180755fa292a.tar.bz2
* real.c (decode_ieee_single): Fix decoding of SNaN bit.
From-SVN: r65161
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/real.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a252078..3ec6e47 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-04-02 Andreas Schwab <schwab@suse.de>
+
+ * real.c (decode_ieee_single): Fix decoding of SNaN bit.
+
2003-04-01 Richard Henderson <rth@redhat.com>
* except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
diff --git a/gcc/real.c b/gcc/real.c
index 74f430c2..c79dd28 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -2705,7 +2705,8 @@ decode_ieee_single (fmt, r, buf)
{
r->class = rvc_nan;
r->sign = sign;
- r->signalling = ((image >> 22) & 1) ^ fmt->qnan_msb_set;
+ r->signalling = (((image >> (HOST_BITS_PER_LONG - 2)) & 1)
+ ^ fmt->qnan_msb_set);
r->sig[SIGSZ-1] = image;
}
else