PR82547: Undetected overflow for UNSIGNED wide_ints
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 22 Nov 2017 13:58:57 +0000 (13:58 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 22 Nov 2017 13:58:57 +0000 (13:58 +0000)
commit2131f7f5b7fafad66c0ae3fcf91d531fc6f9ceb1
treedde1145642e089c705eba8a6de288f81437c2a6a
parenta76ef9c5a8447bf3e90ed832ef1286cda205e115
PR82547: Undetected overflow for UNSIGNED wide_ints

wi::add_large and wi::sub_large weren't setting the overflow bit
correctly for unsigned operations if the result needed fewer HWIs
than the precision.

2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR middle-end/82547
* wide-int.cc (wi::add_large, wi::sub_large): Fix overflow detection
for unsigned values with fewer HWIs than the precision.
(test_overflow): New function.
(wide_int_cc_tests): Call it.

From-SVN: r255059
gcc/ChangeLog
gcc/wide-int.cc