URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 304 |
Rev 384 |
-- { dg-do run }
|
-- { dg-do run }
|
-- { dg-options "-fstack-check" }
|
-- { dg-options "-fstack-check" }
|
|
|
-- This test requires architecture- and OS-specific support code for unwinding
|
-- This test requires architecture- and OS-specific support code for unwinding
|
-- through signal frames (typically located in *-unwind.h) to pass. Feel free
|
-- through signal frames (typically located in *-unwind.h) to pass. Feel free
|
-- to disable it if this code hasn't been implemented yet.
|
-- to disable it if this code hasn't been implemented yet.
|
|
|
procedure Stack_Check1 is
|
procedure Stack_Check1 is
|
|
|
type A is Array (1..2048) of Integer;
|
type A is Array (1..2048) of Integer;
|
|
|
procedure Consume_Stack (N : Integer) is
|
procedure Consume_Stack (N : Integer) is
|
My_A : A; -- 8 KB static
|
My_A : A; -- 8 KB static
|
begin
|
begin
|
My_A (1) := 0;
|
My_A (1) := 0;
|
if N <= 0 then
|
if N <= 0 then
|
return;
|
return;
|
end if;
|
end if;
|
Consume_Stack (N-1);
|
Consume_Stack (N-1);
|
end;
|
end;
|
|
|
Task T;
|
Task T;
|
|
|
Task body T is
|
Task body T is
|
begin
|
begin
|
begin
|
begin
|
Consume_Stack (Integer'Last);
|
Consume_Stack (Integer'Last);
|
raise Program_Error;
|
raise Program_Error;
|
exception
|
exception
|
when Storage_Error => null;
|
when Storage_Error => null;
|
end;
|
end;
|
|
|
Consume_Stack (128);
|
Consume_Stack (128);
|
end;
|
end;
|
|
|
begin
|
begin
|
null;
|
null;
|
end;
|
end;
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.