[Bug middle-end/64182] New: [5 Regression] wide-int rounding division is broken
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 4 12:30:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64182
Bug ID: 64182
Summary: [5 Regression] wide-int rounding division is broken
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
CC: rsandifo at gcc dot gnu.org
Testcase for gnat.dg/round_div.adb
-- { dg-do run }
-- { dg-options "-O3" }
procedure Round_Div is
type Fixed is delta 1.0 range -2147483648.0 .. 2147483647.0;
A : Fixed := 1.0;
B : Fixed := 3.0;
C : Integer;
function Divide (X, Y : Fixed) return Integer is
begin
return Integer (X / Y);
end;
begin
C := Divide (A, B);
if C /= 0 then
raise Program_Error;
end if;
end Round_Div;
Joseph pointed out round_mod_expr has the same issue.
More information about the Gcc-bugs
mailing list