-- { dg-do compile }
-- { dg-options "-gnatws" }

procedure Nested_Proc2 is

   type Arr is array(1..2) of Integer;

   type Rec is record
      Data : Arr;
   end record;

   From  : Rec;
   Index : Integer;

   function F (X : Arr) return Integer is
   begin
      return 0;
   end;

   procedure Test is
   begin
      Index := F (From.Data);
      If Index /= 0 then
         raise Program_Error;
      end if;
   end;

begin
  Test;
end;