-- { 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;