diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/modify_a_constant.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/modify_a_constant.adb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/modify_a_constant.adb b/gcc/testsuite/gnat.dg/modify_a_constant.adb new file mode 100644 index 000000000..576378b0b --- /dev/null +++ b/gcc/testsuite/gnat.dg/modify_a_constant.adb @@ -0,0 +1,19 @@ +-- { dg-do compile } + +with text_io; use text_io; +procedure modify_a_constant is + type Outer; + type Inner (Outer_Ref : access Outer) is limited null record; + + type Outer is limited record + Inner_Field : Inner (Outer_Ref => Outer'Access); + Integer_Field : Integer; + end record; + + X : constant Outer := (Inner_Field => <>, Integer_Field => 123); + +begin + Put_Line (Integer'image (X.Integer_Field)); + X.Inner_Field.Outer_Ref.Integer_Field := 0; + Put_Line (Integer'image (X.Integer_Field)); +end Modify_A_Constant; |