view gcc/testsuite/gnat.dg/specs/controlled1.ads @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

--  { dg-do compile }

with Ada.Finalization;
with Controlled1_Pkg; use Controlled1_Pkg;

package Controlled1 is

   type Collection is new Ada.Finalization.Controlled with null record;

   type Object_Kind_Type is (One, Two);

   type Byte_Array is array (Natural range <>) of Integer;

   type Bounded_Byte_Array_Type is record
     A : Byte_Array (1 .. Value);
   end record;

   type Object_Type is tagged record
     A : Bounded_Byte_Array_Type;
   end record;

   type R_Object_Type is new Object_Type with record
      L : Collection;
   end record;

   type Obj_Type (Kind : Object_Kind_Type := One) is record
      case Kind is
         when One => R : R_Object_Type;
         when others => null;
      end case;
   end record;

   type Obj_Array_Type is array (Positive range <>) of Obj_Type;

end Controlled1;