1-- { dg-do run }
2-- { dg-options "-O" }
3
4with Array27_Pkg; use Array27_Pkg;
5
6procedure Array27 is
7
8  function Get return Outer_type is
9    Ret : Outer_Type;
10  begin
11    Ret (Inner_Type'Range) := F;
12    return Ret;
13  end;
14
15  A : Outer_Type := Get;
16  B : Inner_Type := A (Inner_Type'Range);
17
18begin
19    if B /= "123" then
20    raise Program_Error;
21  end if;
22end;
23