1--  { dg-do compile }
2
3with text_io; use text_io;
4procedure modify_a_constant is
5    type Outer;
6    type Inner (Outer_Ref : access Outer) is limited null record;
7
8    type Outer is limited record
9        Inner_Field   : Inner (Outer_Ref => Outer'Access);
10        Integer_Field : Integer;
11      end record;
12
13    X : constant Outer := (Inner_Field => <>, Integer_Field => 123);
14
15begin
16   Put_Line (Integer'image (X.Integer_Field));
17   X.Inner_Field.Outer_Ref.Integer_Field := 0;
18   Put_Line (Integer'image (X.Integer_Field));
19end Modify_A_Constant;
20