* real.c (encode_ieee_single): Ensure proper promotion.
authorAlexander Kabaev <ak03@gte.com>
Mon, 3 Nov 2003 23:27:51 +0000 (23:27 +0000)
committerLoren J. Rittle <ljrittle@gcc.gnu.org>
Mon, 3 Nov 2003 23:27:51 +0000 (23:27 +0000)
From-SVN: r73232

gcc/ChangeLog
gcc/real.c

index a5c41aba58149df0d895583825556e5394194f59..9aa90f6577309fcb04c9f7db987969843fb0c037 100644 (file)
@@ -1,3 +1,7 @@
+2003-11-03  Alexander Kabaev  <ak03@gte.com>
+
+       * real.c (encode_ieee_single): Ensure proper promotion.
+
 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
index 87246807f2f3428d4c0cf575a141359b7290dbf1..f7af346db603d50c128e51de56e50b29fc209fa3 100644 (file)
@@ -2536,9 +2536,10 @@ encode_ieee_single (const struct real_format *fmt, long *buf,
                    const REAL_VALUE_TYPE *r)
 {
   unsigned long image, sig, exp;
+  unsigned long sign = r->sign;
   bool denormal = (r->sig[SIGSZ-1] & SIG_MSB) == 0;
 
-  image = r->sign << 31;
+  image = sign << 31;
   sig = (r->sig[SIGSZ-1] >> (HOST_BITS_PER_LONG - 24)) & 0x7fffff;
 
   switch (r->class)