https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118164
--- Comment #4 from Nicolas Boulenguez <nicolas at debian dot org> ---
Hello.
The symptom is similar, but I have no way to tell if it this the same bug. Seen
with 14.2.0.
cat > main.adb <<EOF
procedure Main is
function F return Positive is (21);
border_size : constant Positive := F;
subtype Module_Range is Integer range 0 .. border_size - 1;
a, b : array (Module_Range, Module_Range) of Boolean;
procedure Proc1 (x, y : Module_Range; bool : Boolean) is
begin
a (y, x) := bool;
b (y, x) := True;
end Proc1;
procedure Proc2 is
begin
for i in 0 .. 5 loop
Proc1 (8, i, True);
end loop;
Proc1 (8, 7, False);
Proc1 (8, 8, False);
for i in 9 .. 14 loop
Proc1 (14 - i, 8, True);
end loop;
for i in 0 .. 7 loop
Proc1 (border_size - 1 - i, 8, False);
end loop;
for i in 8 .. 14 loop
Proc1 (8, 6 + i, False);
end loop;
end Proc2;
begin
Proc2;
Proc2;
end Main;
EOF
gnatmake main.adb -O2 -fstack-check
./main # Raises Storage_Error on arm-linux-gnueabihf.
