Message ID | 874n1hed5z.fsf@talisman.default |
---|---|
State | New |
Headers | show |
this is fine. kenny On 04/25/2014 09:44 AM, Richard Sandiford wrote: > We should write back the sign-extended value. > > Tested on x86_64-linux-gnu. OK to install? > > Thanks, > Richard > > > Index: gcc/wide-int.cc > =================================================================== > --- gcc/wide-int.cc 2014-04-25 09:15:14.297359380 +0100 > +++ gcc/wide-int.cc 2014-04-25 09:15:50.755637670 +0100 > @@ -81,7 +81,7 @@ canonize (HOST_WIDE_INT *val, unsigned i > > top = val[len - 1]; > if (len * HOST_BITS_PER_WIDE_INT > precision) > - top = sext_hwi (top, precision % HOST_BITS_PER_WIDE_INT); > + val[len - 1] = top = sext_hwi (top, precision % HOST_BITS_PER_WIDE_INT); > if (top != 0 && top != (HOST_WIDE_INT)-1) > return len; >
Index: gcc/wide-int.cc =================================================================== --- gcc/wide-int.cc 2014-04-25 09:15:14.297359380 +0100 +++ gcc/wide-int.cc 2014-04-25 09:15:50.755637670 +0100 @@ -81,7 +81,7 @@ canonize (HOST_WIDE_INT *val, unsigned i top = val[len - 1]; if (len * HOST_BITS_PER_WIDE_INT > precision) - top = sext_hwi (top, precision % HOST_BITS_PER_WIDE_INT); + val[len - 1] = top = sext_hwi (top, precision % HOST_BITS_PER_WIDE_INT); if (top != 0 && top != (HOST_WIDE_INT)-1) return len;