summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/specs/ai_116.ads
blob: 88d7e9876888d0c6294f4224b2508868fe03485b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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;