view gcc/testsuite/gnat.dg/prot6.ads @ 140:4e440907fcbf

copy CbC goto flang in cfgexpand remove some CbC unnecessary code
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Nov 2018 00:24:45 +0900
parents 84e7813d76e9
children
line wrap: on
line source

package Prot6 is

   generic
      type TD is private;
      type TI is synchronized interface;
   package Set_Get is
      type T is synchronized interface and TI;

      procedure Set (E : in out T; D : TD) is abstract;
      function Get (E : T) return TD is abstract;
   end Set_Get;

   type My_Type_Interface is synchronized interface;

   package Set_Get_Integer is
     new Set_Get (TD => Integer,
                  TI => My_Type_Interface);
   use Set_Get_Integer;

   protected type My_Type is
        new Set_Get_Integer.T with

      overriding procedure Set (D : Integer);
      overriding function Get return Integer;
   private
      I : Integer;
   end My_Type;

   procedure Dummy;

end Prot6;