Require target lra in gcc.dg/pr108095.c
[official-gcc.git] / gcc / testsuite / gnat.dg / validity_check3.ads
blob537f0ec1a9c9a4de7cc1e79147e648245713d2b3
1 package Validity_Check3 is
2 procedure Call_All;
4 type Rec_1 is private;
5 procedure Proc_Vis_Rec_1 (Param : Rec_1);
7 type Rec_2 (<>) is private;
8 procedure Proc_Vis_Rec_2 (Param : Rec_2);
10 type Rec_3 (<>) is private;
11 procedure Proc_Vis_Rec_3 (Param : Rec_3);
13 type Rec_4 (Discr : Integer) is private;
14 procedure Proc_Vis_Rec_4 (Param : Rec_4);
16 type Tag_1 is tagged private;
17 procedure Proc_Vis_Tag_1 (Param : Tag_1);
18 procedure Proc_Vis_CW_1 (Param : Tag_1'Class);
20 type Tag_2 (<>) is tagged private;
21 procedure Proc_Vis_Tag_2 (Param : Tag_2);
22 procedure Proc_Vis_CW_2 (Param : Tag_2'Class);
24 type Tag_3 (<>) is tagged private;
25 procedure Proc_Vis_Tag_3 (Param : Tag_3);
26 procedure Proc_Vis_CW_3 (Param : Tag_3'Class);
28 type Tag_4 (Discr : Integer) is tagged private;
29 procedure Proc_Vis_Tag_4 (Param : Tag_4);
30 procedure Proc_Vis_CW_4 (Param : Tag_4'Class);
32 type Tag_5 is new Tag_1 with private;
33 procedure Proc_Vis_Tag_5 (Param : Tag_5);
34 procedure Proc_Vis_CW_5 (Param : Tag_5'Class);
36 type Tag_6 is new Tag_4 with private;
37 procedure Proc_Vis_Tag_6 (Param : Tag_6);
38 procedure Proc_Vis_CW_6 (Param : Tag_6'Class);
40 private
41 type Rec_1 is record
42 Comp_1 : Integer;
43 Comp_2 : Boolean;
44 end record;
46 procedure Proc_Priv_Rec_1 (Param : Rec_1);
48 type Rec_2 is record
49 Comp_1 : Integer;
50 Comp_2 : Boolean;
51 end record;
53 procedure Proc_Priv_Rec_2 (Param : Rec_2);
55 type Rec_3 (Discr : Integer) is record
56 Comp_1 : Integer;
57 Comp_2 : Boolean;
58 end record;
60 procedure Proc_Priv_Rec_3 (Param : Rec_3);
62 type Rec_4 (Discr : Integer) is record
63 Comp_1 : Integer;
64 Comp_2 : Boolean;
65 end record;
67 procedure Proc_Priv_Rec_4 (Param : Rec_4);
69 type Tag_1 is tagged record
70 Comp_1 : Integer;
71 Comp_2 : Boolean;
72 end record;
74 procedure Proc_Priv_Tag_1 (Param : Tag_1);
75 procedure Proc_Priv_CW_1 (Param : Tag_1'Class);
77 type Tag_2 is tagged record
78 Comp_1 : Integer;
79 Comp_2 : Boolean;
80 end record;
82 procedure Proc_Priv_Tag_2 (Param : Tag_2);
83 procedure Proc_Priv_CW_2 (Param : Tag_2'Class);
85 type Tag_3 (Discr : Integer) is tagged record
86 Comp_1 : Integer;
87 Comp_2 : Boolean;
88 end record;
90 procedure Proc_Priv_Tag_3 (Param : Tag_3);
91 procedure Proc_Priv_CW_3 (Param : Tag_3'Class);
93 type Tag_4 (Discr : Integer) is tagged record
94 Comp_1 : Integer;
95 Comp_2 : Boolean;
96 end record;
98 procedure Proc_Priv_Tag_4 (Param : Tag_4);
99 procedure Proc_Priv_CW_4 (Param : Tag_4'Class);
101 type Tag_5 is new Tag_1 with record
102 Comp_3 : Integer;
103 Comp_4 : Boolean;
104 end record;
106 procedure Proc_Priv_Tag_5 (Param : Tag_5);
107 procedure Proc_Priv_CW_5 (Param : Tag_5'Class);
109 type Tag_6 is new Tag_4 with record
110 Comp_3 : Integer;
111 Comp_4 : Boolean;
112 end record;
114 procedure Proc_Priv_Tag_6 (Param : Tag_6);
115 procedure Proc_Priv_CW_6 (Param : Tag_6'Class);
116 end Validity_Check3;