ubuntu-buildroot/output/build/host-gcc-initial-11.4.0/gcc/testsuite/gnat.dg/prot6.ads

32 lines
711 B
Ada

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;