diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/interface3.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/interface3.adb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/interface3.adb b/gcc/testsuite/gnat.dg/interface3.adb new file mode 100644 index 000000000..da38a1fb7 --- /dev/null +++ b/gcc/testsuite/gnat.dg/interface3.adb @@ -0,0 +1,31 @@ +-- { dg-do run } + +procedure interface3 is +-- + package Pkg is + type Foo is interface; + subtype Element_Type is Foo'Class; +-- + type Element_Access is access Element_Type; + type Elements_Type is array (1 .. 1) of Element_Access; + type Elements_Access is access Elements_Type; +-- + type Vector is tagged record + Elements : Elements_Access; + end record; +-- + procedure Test (Obj : Vector); + end; +-- + package body Pkg is + procedure Test (Obj : Vector) is + Elements : Elements_Access := new Elements_Type; +-- + begin + Elements (1) := new Element_Type'(Obj.Elements (1).all); + end; + end; +-- +begin + null; +end; |