1-- { dg-do run } 2 3procedure Aligned_Vla is 4 5 type Table is array (Integer range <>) of Integer; 6 for Table'Alignment use Long_Float'Alignment; 7 8 K : constant := 1; 9 Konstants : Table (1 .. 4) := (others => K); 10 11 procedure Check_Copy (Len : Integer) is 12 My_Konstants : Table (1 .. Len) := Konstants (1 .. 1 + Len - 1); 13 begin 14 for I in My_Konstants'Range loop 15 if My_Konstants (I) /= K then 16 raise Program_Error; 17 end if; 18 end loop; 19 end; 20 21begin 22 Check_Copy (Len => 4); 23end; 24