------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-15 02:39 ------- (In reply to comment #8) > Did you mean MOVE_RATIO? Yes. A value of 2 should be able to reproduce it. If we have any bigger value, the gimplifier will not produce the CONST_DECL which we will SRA on it.
Here is the smallest testcase which I could get: package body PR19865 is type Integer_List is array (Positive range <>) of Integer; type Integer_List_Access is access all Integer_List; No_Argument : aliased Integer_List := (1 .. 0 => 0); package Cache_Args is Table : aliased Integer_List_Access := null; end Cache_Args; procedure Build_Dynamic_Library (Options : Integer_List); procedure Test is Lib_Opts : Integer_List_Access := No_Argument'Unrestricted_Access; begin for Index in 1 .. 1 loop Cache_Args.Table(Index) := 0; end loop; Build_Dynamic_Library (Lib_Opts.all); end Test; procedure Build_Dynamic_Library (Options : Integer_List) is begin null; end Build_Dynamic_Library; end PR19865; package PR19865 is procedure Test; end PR19865; Write it out to a file called t.ada and run gnatchop on it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19865