diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/real.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5c41ab..9aa90f6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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, @@ -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) |
