diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r-- | gcc/testsuite/gnat.dg/thunk1.adb | 9 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/thunk1_pkg1.ads | 7 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/thunk1_pkg2.adb | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/thunk1_pkg2.ads | 14 |
4 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/thunk1.adb b/gcc/testsuite/gnat.dg/thunk1.adb new file mode 100644 index 0000000..278e023 --- /dev/null +++ b/gcc/testsuite/gnat.dg/thunk1.adb @@ -0,0 +1,9 @@ +-- { dg-do run } + +with Thunk1_Pkg1; use Thunk1_Pkg1; + +procedure Thunk1 is + D: Derived; +begin + D.Op ("Message"); +end; diff --git a/gcc/testsuite/gnat.dg/thunk1_pkg1.ads b/gcc/testsuite/gnat.dg/thunk1_pkg1.ads new file mode 100644 index 0000000..edb3eac --- /dev/null +++ b/gcc/testsuite/gnat.dg/thunk1_pkg1.ads @@ -0,0 +1,7 @@ +with Thunk1_Pkg2; use Thunk1_Pkg2; + +package Thunk1_Pkg1 is + + type Derived is new Ext with null record; + +end Thunk1_Pkg1; diff --git a/gcc/testsuite/gnat.dg/thunk1_pkg2.adb b/gcc/testsuite/gnat.dg/thunk1_pkg2.adb new file mode 100644 index 0000000..71ad45d --- /dev/null +++ b/gcc/testsuite/gnat.dg/thunk1_pkg2.adb @@ -0,0 +1,10 @@ +package body Thunk1_Pkg2 is + + procedure Op (This : in out Ext; S : String) is + begin + if S /= "Message" then + raise Program_Error; + end if; + end; + +end Thunk1_Pkg2; diff --git a/gcc/testsuite/gnat.dg/thunk1_pkg2.ads b/gcc/testsuite/gnat.dg/thunk1_pkg2.ads new file mode 100644 index 0000000..82a48d5 --- /dev/null +++ b/gcc/testsuite/gnat.dg/thunk1_pkg2.ads @@ -0,0 +1,14 @@ +package Thunk1_Pkg2 is + + type Root is tagged record + I : Integer; + end record; + + type Iface is interface; + procedure Op (This : in out Iface; S : String) is abstract; + + type Ext is new Root and Iface with null record; + + procedure Op (This : in out Ext; S : String); + +end Thunk1_Pkg2; |