Bug#642980: shorter example
Control: found -1 4.6.4-1
Control: retitle -1 Bug box in interpret_loop_phi, at tree-scalar-evolution.c:1645
The bug is also related to overflow checks (-gnato). The following
source triggers it on falla.debian.org, but only with -O1. An eventual
patch will have to be tested on asis with -O2 too.
gcc-4.6 -c -O1 -gnato p.adb
+===========================GNAT BUG DETECTED==============================+
| 4.6.4 (x86_64-pc-kfreebsd-gnu) GCC error: |
| in interpret_loop_phi, at tree-scalar-evolution.c:1645 |
| Error detected around p.adb:14:1 .
package P is
type A is array (Positive range <>) of Integer;
Nil_A : constant A;
procedure Proc;
private
Nil_A : constant A := (1 .. 0 => 0);
end P;
package body P is
function One (L : integer) return Integer is
begin
return 1;
end One;
procedure Proc is
I : Integer := 1;
begin
for J in Nil_A'Range loop
I := I + 1;
I := I + One (Nil_A (J));
end loop;
end Proc;
end P;
Reply to: