diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/access_test.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/access_test.adb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/access_test.adb b/gcc/testsuite/gnat.dg/access_test.adb new file mode 100644 index 000000000..6266b725a --- /dev/null +++ b/gcc/testsuite/gnat.dg/access_test.adb @@ -0,0 +1,33 @@ +-- { dg-do run } + +procedure Access_Test is + + type T1 is tagged null record; + + procedure Proc_1 (P : access T1'Class) is + type Ref is access T1'Class; + X : Ref := new T1'Class'(P.all); -- Should always work (no exception) + + begin + null; + end; + + procedure Proc_2 is + type T2 is new T1 with null record; + X2 : aliased T2; + + begin + Proc_1 (X2'access); + + declare + type T3 is new T1 with null record; + X3 : aliased T3; + + begin + Proc_1 (X3'access); + end; + end; + +begin + Proc_2; +end; |