URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Go to most recent revision |
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_Check2 is
|
procedure Stack_Check2 is
|
|
|
function UB return Integer is
|
function UB return Integer is
|
begin
|
begin
|
return 2048;
|
return 2048;
|
end;
|
end;
|
|
|
type A is Array (Positive range <>) of Integer;
|
type A is Array (Positive range <>) of Integer;
|
|
|
procedure Consume_Stack (N : Integer) is
|
procedure Consume_Stack (N : Integer) is
|
My_A : A (1..UB); -- 8 KB dynamic
|
My_A : A (1..UB); -- 8 KB dynamic
|
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.