diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/specs/ai_116.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/ai_116.ads | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/specs/ai_116.ads b/gcc/testsuite/gnat.dg/specs/ai_116.ads new file mode 100644 index 000000000..88d7e9876 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/ai_116.ads @@ -0,0 +1,23 @@ +-- { dg-do compile } + +with Ada.Finalization; use Ada; +package ai_116 is + pragma Preelaborate; + type Buffer_Type is limited interface; + + type Handle is new Finalization.Limited_Controlled and Buffer_Type with + private; + pragma Preelaborable_Initialization(Handle); + + type Ptr is access all String; + Null_Handle : constant Handle; + +private + type Handle is new Finalization.Limited_Controlled and Buffer_Type with + record + Data : Ptr := null; + end record; + + Null_Handle : constant Handle := + (Finalization.Limited_Controlled with Data => null); +end ai_116; |