re PR middle-end/64182 (wide-int rounding division is broken)
authorRichard Sandiford <richard.sandiford@arm.com>
Fri, 12 Dec 2014 15:46:57 +0000 (15:46 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 12 Dec 2014 15:46:57 +0000 (15:46 +0000)
commit4db4954fc5495758817fdc8c0dc3d29f82509589
treeb4ad83f4876c83d62f4f1ff43d1f923c4cd90840
parent8f596ff51a4177ce494b6567c83a2fa0bbf12c71
re PR middle-end/64182 (wide-int rounding division is broken)

gcc/
PR middle-end/64182
* wide-int.h (wi::div_round, wi::mod_round): Fix rounding of tied
cases.
* double-int.c (div_and_round_double): Fix handling of unsigned
cases.  Use same rounding approach as wide-int.h.

gcc/testsuite/
2014-xx-xx  Richard Sandiford  <richard.sandiford@arm.com>
    Joseph Myers  <joseph@codesourcery.com>

PR middle-end/64182
* gcc.dg/plugin/wide-int-test-1.c,
gcc.dg/plugin/wide-int_plugin.c: New test.
* gcc.dg/plugin/plugin.exp: Register it.
* gnat.dg/round_div.adb: New test.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r218678
gcc/ChangeLog
gcc/double-int.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/plugin/plugin.exp
gcc/testsuite/gcc.dg/plugin/wide-int-test-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/wide-int_plugin.c [new file with mode: 0644]
gcc/testsuite/gnat.dg/round_div.adb [new file with mode: 0644]
gcc/wide-int.h