aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/wide-int.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/wide-int.cc b/gcc/wide-int.cc
index f4d949c..99d7ded 100644
--- a/gcc/wide-int.cc
+++ b/gcc/wide-int.cc
@@ -702,8 +702,11 @@ wi::set_bit_large (HOST_WIDE_INT *val, const HOST_WIDE_INT *xval,
/* If the bit we just set is at the msb of the block, make sure
that any higher bits are zeros. */
if (bit + 1 < precision && subbit == HOST_BITS_PER_WIDE_INT - 1)
- val[len++] = 0;
- return len;
+ {
+ val[len++] = 0;
+ return len;
+ }
+ return canonize (val, len, precision);
}
else
{