diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/addr14.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/addr14.adb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/addr14.adb b/gcc/testsuite/gnat.dg/addr14.adb new file mode 100644 index 00000000000..e92c902f038 --- /dev/null +++ b/gcc/testsuite/gnat.dg/addr14.adb @@ -0,0 +1,24 @@ +-- { dg-do run } + +with System; + +procedure Addr14 is + + type Arr is array (1 .. 4) of aliased Integer; + + A : Arr := (1, 2, 3, 4); + I : Natural := 0; + + function Get_Address return System.Address is + begin + I := I + 1; + return A(I)'Address; + end; + + Foo : Integer with Address => Get_Address; + +begin + if Foo /= 1 then + raise Program_Error; + end if; +end; |