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

Reply via email to