diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/volatile4.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/volatile4.adb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/volatile4.adb b/gcc/testsuite/gnat.dg/volatile4.adb new file mode 100644 index 000000000..fe2b30760 --- /dev/null +++ b/gcc/testsuite/gnat.dg/volatile4.adb @@ -0,0 +1,24 @@ +-- { dg-do run } + +procedure Volatile4 is + + type My_Int is new Integer; + pragma Volatile (My_Int); + + type Rec is record + I : My_Int; + end record; + + function F (R : Rec) return Rec is + begin + return R; + end; + + R : Rec := (I => 0); + +begin + R := F (R); + if R.I /= 0 then + raise Program_Error; + end if; +end; |