diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/aliasing1.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/aliasing1.adb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/aliasing1.adb b/gcc/testsuite/gnat.dg/aliasing1.adb new file mode 100644 index 000000000..b2b7d123b --- /dev/null +++ b/gcc/testsuite/gnat.dg/aliasing1.adb @@ -0,0 +1,22 @@ +-- { dg-do compile } +-- { dg-options "-O2 -gnatp -fdump-tree-optimized" } + +-- The raise statement must be optimized away by +-- virtue of DECL_NONADDRESSABLE_P set on R.I. + +package body Aliasing1 is + + function F (P : Ptr) return Integer is + begin + R.I := 0; + P.all := 1; + if R.I /= 0 then + raise Program_Error; + end if; + return 0; + end; + +end Aliasing1; + +-- { dg-final { scan-tree-dump-not "__gnat_rcheck" "optimized" } } +-- { dg-final { cleanup-tree-dump "optimized" } } |