------- Additional Comments From uweigand at gcc dot gnu dot org 2005-02-14 21:05 ------- Diego asked me to post a reduced test case; here we go.
This should go into a file named pr19865.ads: package PR19865 is procedure Test; end PR19865; and this into a file named pr19865.adb: package body PR19865 is type String_Access is access all String; type String_List is array (Positive range <>) of String_Access; type String_List_Access is access all String_List; No_Argument : aliased String_List := (1 .. 0 => null); package Cache_Args is type Table_Type is array (Integer range <>) of String_Access; subtype Big_Table_Type is Table_Type (1 .. Integer'Last); type Table_Ptr is access all Big_Table_Type; Table : aliased Table_Ptr := null; Last_Val : Integer; end Cache_Args; function Get_Name_String return String; function Get_Name_String return String is begin return ""; end Get_Name_String; procedure Build_Dynamic_Library (Options : String_List); procedure Build_Dynamic_Library (Options : String_List) is begin null; end Build_Dynamic_Library; procedure Test is Lib_Opts : String_List_Access := No_Argument'Unrestricted_Access; begin for Index in 1 .. Cache_Args.Last_Val loop if Cache_Args.Table (Index).all = Get_Name_String then exit; end if; end loop; Build_Dynamic_Library (Lib_Opts.all); end Test; end PR19865; The error occurs when building this with gnat1 -I<path-to-srcdir>/gcc/ada -O2 pr19865.adb (I've tested a gnat1 configured for s390-ibm-linux.) -- What |Removed |Added ---------------------------------------------------------------------------- CC| |uweigand at de dot ibm dot | |com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19865