diff options
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/real.c b/gcc/real.c index 9ed08b0e9de..f8e8d7fdfd9 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -1436,7 +1436,9 @@ real_to_integer (const REAL_VALUE_TYPE *r, bool *fail, int precision) else { val[i] = r->sig[j]; - val[i] <<= HOST_BITS_PER_LONG; + unsigned HOST_WIDE_INT v = val[i]; + v <<= HOST_BITS_PER_LONG; + val[i] = v; val[i] |= r->sig[j - 1]; } } |