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