27 lines
764 B
Ada
27 lines
764 B
Ada
-- { dg-do run }
|
|
--
|
|
-- This test checks that we can allocate more than 2GB on systems with word
|
|
-- sizes larger than 32-bits
|
|
|
|
with Ada.Strings.Fixed; use Ada.Strings.Fixed;
|
|
|
|
procedure Sec_Stack1 is
|
|
function Get_A_Big_String return String;
|
|
-- Return a very close to 2GB string on the secondary stack that would
|
|
-- overflow the secondary stack if we still had a 2GB limit.
|
|
|
|
function Get_A_Big_String return String is
|
|
String_Size : constant Natural := Natural'Last;
|
|
begin
|
|
return String_Size * 'a';
|
|
end Get_A_Big_String;
|
|
|
|
begin
|
|
-- This test only works on systems with more than 32-bits
|
|
if Standard'Address_Size > 32 then
|
|
declare
|
|
R : String := Get_A_Big_String;
|
|
begin null; end;
|
|
end if;
|
|
end Sec_Stack1;
|