--  { dg-do run }

procedure Aligned_Vla is

   type Table is array (Integer range <>) of Integer;
   for Table'Alignment use Long_Float'Alignment;

   K : constant := 1;
   Konstants : Table (1 .. 4) := (others => K);

   procedure Check_Copy (Len : Integer) is
      My_Konstants : Table (1 .. Len) := Konstants (1 .. 1 + Len - 1);
   begin
      for I in My_Konstants'Range loop
         if My_Konstants (I) /= K then
            raise Program_Error;
         end if;
      end loop;
   end;

begin
   Check_Copy (Len => 4);
end;