runtime: copy more of scheduler from Go 1.7 runtime
[official-gcc.git] / gcc / testsuite / gnat.dg / self.ads
blob1837188ab9526f03490055b2a634ab277a902fb0
1 with System;
2 package Self is
3 type Lim is limited private;
4 type Lim_Ref is access all Lim;
5 function G (X : Integer) return lim;
7 procedure Change (X : in out Lim; Incr : Integer);
8 function Get (X : Lim) return Integer;
9 private
10 type Lim is limited record
11 Comp : Integer;
12 Self_Default : Lim_Ref := Lim'Unchecked_Access;
13 Self_Unrestricted_Default : Lim_Ref := Lim'Unrestricted_Access;
14 Self_Anon_Default : access Lim := Lim'Unchecked_Access;
15 Self_Anon_Unrestricted_Default : access Lim := Lim'Unrestricted_Access;
16 end record;
17 end Self;