diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/generic_inst2-child1.ads | 17 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/generic_inst2-child2.ads | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/generic_inst2.ads | 11 |
3 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/specs/generic_inst2-child1.ads b/gcc/testsuite/gnat.dg/specs/generic_inst2-child1.ads new file mode 100644 index 0000000..18e212b --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/generic_inst2-child1.ads @@ -0,0 +1,17 @@ +generic +package Generic_Inst2.Child1 is + + function Get_Custom return Custom_Type; + +private + + type Dummy is null record; + + Placeholder : constant Dummy := (null record); + + -- This type conversion fails (though only when + -- instantiated in the other package) + function Get_Custom return Custom_Type is + (Custom_Type(Placeholder'Address)); + +end Generic_Inst2.Child1; diff --git a/gcc/testsuite/gnat.dg/specs/generic_inst2-child2.ads b/gcc/testsuite/gnat.dg/specs/generic_inst2-child2.ads new file mode 100644 index 0000000..3bb5b0a --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/generic_inst2-child2.ads @@ -0,0 +1,10 @@ +-- { dg-do compile } + +with Generic_Inst2.Child1; + +generic +package Generic_Inst2.Child2 is + + package Second is new Generic_Inst2.Child1; + +end Generic_Inst2.Child2; diff --git a/gcc/testsuite/gnat.dg/specs/generic_inst2.ads b/gcc/testsuite/gnat.dg/specs/generic_inst2.ads new file mode 100644 index 0000000..0a74e36 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/generic_inst2.ads @@ -0,0 +1,11 @@ +private with System; + +package Generic_Inst2 is + + type Custom_Type is private; + +private + + type Custom_Type is new System.Address; + +end Generic_Inst2; |