diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r-- | gcc/testsuite/gnat.dg/opt39.adb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/opt39.adb b/gcc/testsuite/gnat.dg/opt39.adb new file mode 100644 index 0000000..a00cac7 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt39.adb @@ -0,0 +1,31 @@ +-- { dg-do compile } +-- { dg-options "-O2 -fno-inline -fdump-tree-optimized" } + +procedure Opt39 (I : Integer) is + + type Rec is record + I1 : Integer; + I2 : Integer; + I3 : Integer; + I4 : Integer; + I5 : Integer; + end record; + + procedure Set (A : access Rec; I : Integer) is + Tmp : Rec := A.all; + begin + Tmp.I1 := I; + A.all := Tmp; + end; + + R : aliased Rec; + +begin + Set (R'Access, I); + if R.I1 /= I then + raise Program_Error; + end if; +end; + +-- { dg-final { scan-tree-dump-times "MEM" 1 "optimized" } } +-- { dg-final { cleanup-tree-dump "optimized" } } |