2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gnat.dg / modify_a_constant.adb
blob576378b0bd25c420ea14a26448707ca51382b726
1 -- { dg-do compile }
3 with text_io; use text_io;
4 procedure modify_a_constant is
5 type Outer;
6 type Inner (Outer_Ref : access Outer) is limited null record;
8 type Outer is limited record
9 Inner_Field : Inner (Outer_Ref => Outer'Access);
10 Integer_Field : Integer;
11 end record;
13 X : constant Outer := (Inner_Field => <>, Integer_Field => 123);
15 begin
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));
19 end Modify_A_Constant;