* real.c (decode_ieee_single): Fix decoding of SNaN bit.
authorAndreas Schwab <schwab@suse.de>
Wed, 2 Apr 2003 09:13:33 +0000 (09:13 +0000)
committerAndreas Schwab <schwab@gcc.gnu.org>
Wed, 2 Apr 2003 09:13:33 +0000 (09:13 +0000)
From-SVN: r65161

gcc/ChangeLog
gcc/real.c

index a25207869af734c22c2dda987f54e0fe1fbf0645..3ec6e47dcb836f55ba075545db5748f0add8cb7b 100644 (file)
@@ -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
index 74f430c29ae46bcb4105e1caeca774119553aeb6..c79dd288b62d00cc2382aeb8ef8585e03b81a454 100644 (file)
@@ -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