]> git.pld-linux.org Git - packages/gcc3.4.git/blob - gcc3.4-ada-bootstrap.patch
- updated gettext BR
[packages/gcc3.4.git] / gcc3.4-ada-bootstrap.patch
1 --- gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/sinfo.h.orig  1970-01-01 01:00:00.000000000 +0100
2 +++ gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/sinfo.h       2004-06-02 00:54:16.000000000 +0200
3 @@ -0,0 +1,847 @@
4 +/*--------------------------------------------------------------------------*/
5 +/*                                                                          */
6 +/*                         GNAT COMPILER COMPONENTS                         */
7 +/*                                                                          */
8 +/*                                S I N F O                                 */
9 +/*                                                                          */
10 +/*                              C Header File                               */
11 +/*                                                                          */
12 +/*          Copyright (C) 1992-2004, Free Software Foundation, Inc.         */
13 +/*                                                                          */
14 +/* GNAT is free software;  you can  redistribute it  and/or modify it under */
15 +/* terms of the  GNU General Public License as published  by the Free Soft- */
16 +/* ware  Foundation;  either version 2,  or (at your option) any later ver- */
17 +/* sion.  GNAT is distributed in the hope that it will be useful, but WITH- */
18 +/* OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY */
19 +/* or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License */
20 +/* for  more details.  You should have  received  a copy of the GNU General */
21 +/* Public License  distributed with GNAT;  see file COPYING.  If not, write */
22 +/* to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, */
23 +/* MA 02111-1307, USA.                                                      */
24 +/*                                                                          */
25 +/* As a special exception,  if other files  instantiate  generics from this */
26 +/* unit, or you link  this unit with other files  to produce an executable, */
27 +/* this  unit  does not  by itself cause  the resulting  executable  to  be */
28 +/* covered  by the  GNU  General  Public  License.  This exception does not */
29 +/* however invalidate  any other reasons why  the executable file  might be */
30 +/* covered by the  GNU Public License.                                      */
31 +/*                                                                          */
32 +/* GNAT was originally developed  by the GNAT team at  New York University. */
33 +/* Extensive contributions were provided by Ada Core Technologies Inc.      */
34 +/*                                                                          */
35 +/*--------------------------------------------------------------------------*/
36 +
37 +      #define N_Unused_At_Start 0
38 +      #define N_At_Clause 1
39 +      #define N_Component_Clause 2
40 +      #define N_Enumeration_Representation_Clause 3
41 +      #define N_Mod_Clause 4
42 +      #define N_Record_Representation_Clause 5
43 +      #define N_Attribute_Definition_Clause 6
44 +      #define N_Empty 7
45 +      #define N_Pragma 8
46 +      #define N_Pragma_Argument_Association 9
47 +      #define N_Error 10
48 +      #define N_Defining_Character_Literal 11
49 +      #define N_Defining_Identifier 12
50 +      #define N_Defining_Operator_Symbol 13
51 +      #define N_Expanded_Name 14
52 +      #define N_Identifier 15
53 +      #define N_Operator_Symbol 16
54 +      #define N_Character_Literal 17
55 +      #define N_Op_Add 18
56 +      #define N_Op_Concat 19
57 +      #define N_Op_Expon 20
58 +      #define N_Op_Subtract 21
59 +      #define N_Op_Divide 22
60 +      #define N_Op_Mod 23
61 +      #define N_Op_Multiply 24
62 +      #define N_Op_Rem 25
63 +      #define N_Op_And 26
64 +      #define N_Op_Eq 27
65 +      #define N_Op_Ge 28
66 +      #define N_Op_Gt 29
67 +      #define N_Op_Le 30
68 +      #define N_Op_Lt 31
69 +      #define N_Op_Ne 32
70 +      #define N_Op_Or 33
71 +      #define N_Op_Xor 34
72 +      #define N_Op_Rotate_Left 35
73 +      #define N_Op_Rotate_Right 36
74 +      #define N_Op_Shift_Left 37
75 +      #define N_Op_Shift_Right 38
76 +      #define N_Op_Shift_Right_Arithmetic 39
77 +      #define N_Op_Abs 40
78 +      #define N_Op_Minus 41
79 +      #define N_Op_Not 42
80 +      #define N_Op_Plus 43
81 +      #define N_Attribute_Reference 44
82 +      #define N_And_Then 45
83 +      #define N_Conditional_Expression 46
84 +      #define N_Explicit_Dereference 47
85 +      #define N_Function_Call 48
86 +      #define N_In 49
87 +      #define N_Indexed_Component 50
88 +      #define N_Integer_Literal 51
89 +      #define N_Not_In 52
90 +      #define N_Null 53
91 +      #define N_Or_Else 54
92 +      #define N_Procedure_Call_Statement 55
93 +      #define N_Qualified_Expression 56
94 +      #define N_Raise_Constraint_Error 57
95 +      #define N_Raise_Program_Error 58
96 +      #define N_Raise_Storage_Error 59
97 +      #define N_Aggregate 60
98 +      #define N_Allocator 61
99 +      #define N_Extension_Aggregate 62
100 +      #define N_Range 63
101 +      #define N_Real_Literal 64
102 +      #define N_Reference 65
103 +      #define N_Selected_Component 66
104 +      #define N_Slice 67
105 +      #define N_String_Literal 68
106 +      #define N_Subprogram_Info 69
107 +      #define N_Type_Conversion 70
108 +      #define N_Unchecked_Expression 71
109 +      #define N_Unchecked_Type_Conversion 72
110 +      #define N_Subtype_Indication 73
111 +      #define N_Component_Declaration 74
112 +      #define N_Entry_Declaration 75
113 +      #define N_Formal_Object_Declaration 76
114 +      #define N_Formal_Type_Declaration 77
115 +      #define N_Full_Type_Declaration 78
116 +      #define N_Incomplete_Type_Declaration 79
117 +      #define N_Loop_Parameter_Specification 80
118 +      #define N_Object_Declaration 81
119 +      #define N_Protected_Type_Declaration 82
120 +      #define N_Private_Extension_Declaration 83
121 +      #define N_Private_Type_Declaration 84
122 +      #define N_Subtype_Declaration 85
123 +      #define N_Function_Specification 86
124 +      #define N_Procedure_Specification 87
125 +      #define N_Entry_Index_Specification 88
126 +      #define N_Freeze_Entity 89
127 +      #define N_Access_Function_Definition 90
128 +      #define N_Access_Procedure_Definition 91
129 +      #define N_Task_Type_Declaration 92
130 +      #define N_Package_Body_Stub 93
131 +      #define N_Protected_Body_Stub 94
132 +      #define N_Subprogram_Body_Stub 95
133 +      #define N_Task_Body_Stub 96
134 +      #define N_Function_Instantiation 97
135 +      #define N_Package_Instantiation 98
136 +      #define N_Procedure_Instantiation 99
137 +      #define N_Package_Body 100
138 +      #define N_Subprogram_Body 101
139 +      #define N_Protected_Body 102
140 +      #define N_Task_Body 103
141 +      #define N_Implicit_Label_Declaration 104
142 +      #define N_Package_Declaration 105
143 +      #define N_Single_Task_Declaration 106
144 +      #define N_Subprogram_Declaration 107
145 +      #define N_Use_Package_Clause 108
146 +      #define N_Generic_Package_Declaration 109
147 +      #define N_Generic_Subprogram_Declaration 110
148 +      #define N_Constrained_Array_Definition 111
149 +      #define N_Unconstrained_Array_Definition 112
150 +      #define N_Exception_Renaming_Declaration 113
151 +      #define N_Object_Renaming_Declaration 114
152 +      #define N_Package_Renaming_Declaration 115
153 +      #define N_Subprogram_Renaming_Declaration 116
154 +      #define N_Generic_Function_Renaming_Declaration 117
155 +      #define N_Generic_Package_Renaming_Declaration 118
156 +      #define N_Generic_Procedure_Renaming_Declaration 119
157 +      #define N_Abort_Statement 120
158 +      #define N_Accept_Statement 121
159 +      #define N_Assignment_Statement 122
160 +      #define N_Asynchronous_Select 123
161 +      #define N_Block_Statement 124
162 +      #define N_Case_Statement 125
163 +      #define N_Code_Statement 126
164 +      #define N_Conditional_Entry_Call 127
165 +      #define N_Delay_Relative_Statement 128
166 +      #define N_Delay_Until_Statement 129
167 +      #define N_Entry_Call_Statement 130
168 +      #define N_Free_Statement 131
169 +      #define N_Goto_Statement 132
170 +      #define N_Loop_Statement 133
171 +      #define N_Null_Statement 134
172 +      #define N_Raise_Statement 135
173 +      #define N_Requeue_Statement 136
174 +      #define N_Return_Statement 137
175 +      #define N_Selective_Accept 138
176 +      #define N_Timed_Entry_Call 139
177 +      #define N_Exit_Statement 140
178 +      #define N_If_Statement 141
179 +      #define N_Accept_Alternative 142
180 +      #define N_Delay_Alternative 143
181 +      #define N_Elsif_Part 144
182 +      #define N_Entry_Body_Formal_Part 145
183 +      #define N_Iteration_Scheme 146
184 +      #define N_Terminate_Alternative 147
185 +      #define N_Abortable_Part 148
186 +      #define N_Abstract_Subprogram_Declaration 149
187 +      #define N_Access_Definition 150
188 +      #define N_Access_To_Object_Definition 151
189 +      #define N_Case_Statement_Alternative 152
190 +      #define N_Compilation_Unit 153
191 +      #define N_Compilation_Unit_Aux 154
192 +      #define N_Component_Association 155
193 +      #define N_Component_Definition 156
194 +      #define N_Component_List 157
195 +      #define N_Derived_Type_Definition 158
196 +      #define N_Decimal_Fixed_Point_Definition 159
197 +      #define N_Defining_Program_Unit_Name 160
198 +      #define N_Delta_Constraint 161
199 +      #define N_Designator 162
200 +      #define N_Digits_Constraint 163
201 +      #define N_Discriminant_Association 164
202 +      #define N_Discriminant_Specification 165
203 +      #define N_Enumeration_Type_Definition 166
204 +      #define N_Entry_Body 167
205 +      #define N_Entry_Call_Alternative 168
206 +      #define N_Exception_Declaration 169
207 +      #define N_Exception_Handler 170
208 +      #define N_Floating_Point_Definition 171
209 +      #define N_Formal_Decimal_Fixed_Point_Definition 172
210 +      #define N_Formal_Derived_Type_Definition 173
211 +      #define N_Formal_Discrete_Type_Definition 174
212 +      #define N_Formal_Floating_Point_Definition 175
213 +      #define N_Formal_Modular_Type_Definition 176
214 +      #define N_Formal_Ordinary_Fixed_Point_Definition 177
215 +      #define N_Formal_Package_Declaration 178
216 +      #define N_Formal_Private_Type_Definition 179
217 +      #define N_Formal_Signed_Integer_Type_Definition 180
218 +      #define N_Formal_Subprogram_Declaration 181
219 +      #define N_Generic_Association 182
220 +      #define N_Handled_Sequence_Of_Statements 183
221 +      #define N_Index_Or_Discriminant_Constraint 184
222 +      #define N_Itype_Reference 185
223 +      #define N_Label 186
224 +      #define N_Modular_Type_Definition 187
225 +      #define N_Number_Declaration 188
226 +      #define N_Ordinary_Fixed_Point_Definition 189
227 +      #define N_Others_Choice 190
228 +      #define N_Package_Specification 191
229 +      #define N_Parameter_Association 192
230 +      #define N_Parameter_Specification 193
231 +      #define N_Protected_Definition 194
232 +      #define N_Range_Constraint 195
233 +      #define N_Real_Range_Specification 196
234 +      #define N_Record_Definition 197
235 +      #define N_Signed_Integer_Type_Definition 198
236 +      #define N_Single_Protected_Declaration 199
237 +      #define N_Subunit 200
238 +      #define N_Task_Definition 201
239 +      #define N_Triggering_Alternative 202
240 +      #define N_Use_Type_Clause 203
241 +      #define N_Validate_Unchecked_Conversion 204
242 +      #define N_Variant 205
243 +      #define N_Variant_Part 206
244 +      #define N_With_Clause 207
245 +      #define N_With_Type_Clause 208
246 +      #define N_Unused_At_End 209
247 +
248 +      #define Number_Node_Kinds 210
249 +   SUBTYPE (N_Access_To_Subprogram_Definition, Node_Kind, 
250 +      N_Access_Function_Definition,
251 +      N_Access_Procedure_Definition)
252 +   SUBTYPE (N_Array_Type_Definition, Node_Kind, 
253 +      N_Constrained_Array_Definition,
254 +      N_Unconstrained_Array_Definition)
255 +   SUBTYPE (N_Binary_Op, Node_Kind, 
256 +      N_Op_Add,
257 +      N_Op_Shift_Right_Arithmetic)
258 +   SUBTYPE (N_Body_Stub, Node_Kind, 
259 +      N_Package_Body_Stub,
260 +      N_Task_Body_Stub)
261 +   SUBTYPE (N_Declaration, Node_Kind, 
262 +      N_Component_Declaration,
263 +      N_Procedure_Specification)
264 +   SUBTYPE (N_Direct_Name, Node_Kind, 
265 +      N_Identifier,
266 +      N_Character_Literal)
267 +   SUBTYPE (N_Entity, Node_Kind, 
268 +      N_Defining_Character_Literal,
269 +      N_Defining_Operator_Symbol)
270 +   SUBTYPE (N_Generic_Declaration, Node_Kind, 
271 +      N_Generic_Package_Declaration,
272 +      N_Generic_Subprogram_Declaration)
273 +   SUBTYPE (N_Generic_Instantiation, Node_Kind, 
274 +      N_Function_Instantiation,
275 +      N_Procedure_Instantiation)
276 +   SUBTYPE (N_Generic_Renaming_Declaration, Node_Kind, 
277 +      N_Generic_Function_Renaming_Declaration,
278 +      N_Generic_Procedure_Renaming_Declaration)
279 +   SUBTYPE (N_Has_Chars, Node_Kind, 
280 +      N_Attribute_Definition_Clause,
281 +      N_Op_Plus)
282 +   SUBTYPE (N_Has_Entity, Node_Kind, 
283 +      N_Expanded_Name,
284 +      N_Attribute_Reference)
285 +   SUBTYPE (N_Has_Etype, Node_Kind, 
286 +      N_Error,
287 +      N_Subtype_Indication)
288 +   SUBTYPE (N_Has_Treat_Fixed_As_Integer, Node_Kind, 
289 +      N_Op_Divide,
290 +      N_Op_Rem)
291 +   SUBTYPE (N_Later_Decl_Item, Node_Kind, 
292 +      N_Task_Type_Declaration,
293 +      N_Generic_Subprogram_Declaration)
294 +   SUBTYPE (N_Op, Node_Kind, 
295 +      N_Op_Add,
296 +      N_Op_Plus)
297 +   SUBTYPE (N_Op_Boolean, Node_Kind, 
298 +      N_Op_And,
299 +      N_Op_Xor)
300 +   SUBTYPE (N_Op_Compare, Node_Kind, 
301 +      N_Op_Eq,
302 +      N_Op_Ne)
303 +   SUBTYPE (N_Op_Shift, Node_Kind, 
304 +      N_Op_Rotate_Left,
305 +      N_Op_Shift_Right_Arithmetic)
306 +   SUBTYPE (N_Proper_Body, Node_Kind, 
307 +      N_Package_Body,
308 +      N_Task_Body)
309 +   SUBTYPE (N_Raise_xxx_Error, Node_Kind, 
310 +      N_Raise_Constraint_Error,
311 +      N_Raise_Storage_Error)
312 +   SUBTYPE (N_Renaming_Declaration, Node_Kind, 
313 +      N_Exception_Renaming_Declaration,
314 +      N_Generic_Procedure_Renaming_Declaration)
315 +   SUBTYPE (N_Representation_Clause, Node_Kind, 
316 +      N_At_Clause,
317 +      N_Attribute_Definition_Clause)
318 +   SUBTYPE (N_Statement_Other_Than_Procedure_Call, Node_Kind, 
319 +      N_Abort_Statement,
320 +      N_If_Statement)
321 +   SUBTYPE (N_Has_Condition, Node_Kind, 
322 +      N_Exit_Statement,
323 +      N_Terminate_Alternative)
324 +   SUBTYPE (N_Subexpr, Node_Kind, 
325 +      N_Expanded_Name,
326 +      N_Unchecked_Type_Conversion)
327 +   SUBTYPE (N_Subprogram_Specification, Node_Kind, 
328 +      N_Function_Specification,
329 +      N_Procedure_Specification)
330 +   SUBTYPE (N_Unary_Op, Node_Kind, 
331 +      N_Op_Abs,
332 +      N_Op_Plus)
333 +   SUBTYPE (N_Unit_Body, Node_Kind, 
334 +      N_Package_Body,
335 +      N_Subprogram_Body)
336 +   INLINE Boolean   ABE_Is_Certain                 (Node_Id N)
337 +      { return Flag18 (N); }
338 +   INLINE Boolean   Abort_Present                  (Node_Id N)
339 +      { return Flag15 (N); }
340 +   INLINE Node_Id   Abortable_Part                 (Node_Id N)
341 +      { return Node2 (N); }
342 +   INLINE Boolean   Abstract_Present               (Node_Id N)
343 +      { return Flag4 (N); }
344 +   INLINE List_Id   Accept_Handler_Records         (Node_Id N)
345 +      { return List5 (N); }
346 +   INLINE Node_Id   Accept_Statement               (Node_Id N)
347 +      { return Node2 (N); }
348 +   INLINE Elist_Id  Access_Types_To_Process        (Node_Id N)
349 +      { return Elist2 (N); }
350 +   INLINE List_Id   Actions                        (Node_Id N)
351 +      { return List1 (N); }
352 +   INLINE Node_Id   Activation_Chain_Entity        (Node_Id N)
353 +      { return Node3 (N); }
354 +   INLINE Boolean   Acts_As_Spec                   (Node_Id N)
355 +      { return Flag4 (N); }
356 +   INLINE Node_Id   Aggregate_Bounds               (Node_Id N)
357 +      { return Node3 (N); }
358 +   INLINE Boolean   Aliased_Present                (Node_Id N)
359 +      { return Flag4 (N); }
360 +   INLINE Boolean   All_Others                     (Node_Id N)
361 +      { return Flag11 (N); }
362 +   INLINE Boolean   All_Present                    (Node_Id N)
363 +      { return Flag15 (N); }
364 +   INLINE List_Id   Alternatives                   (Node_Id N)
365 +      { return List4 (N); }
366 +   INLINE Node_Id   Ancestor_Part                  (Node_Id N)
367 +      { return Node3 (N); }
368 +   INLINE Node_Id   Array_Aggregate                (Node_Id N)
369 +      { return Node3 (N); }
370 +   INLINE Boolean   Assignment_OK                  (Node_Id N)
371 +      { return Flag15 (N); }
372 +   INLINE Node_Id   Associated_Node                (Node_Id N)
373 +      { return Node4 (N); }
374 +   INLINE Node_Id   At_End_Proc                    (Node_Id N)
375 +      { return Node1 (N); }
376 +   INLINE Name_Id   Attribute_Name                 (Node_Id N)
377 +      { return Name2 (N); }
378 +   INLINE Node_Id   Aux_Decls_Node                 (Node_Id N)
379 +      { return Node5 (N); }
380 +   INLINE Boolean   Backwards_OK                   (Node_Id N)
381 +      { return Flag6 (N); }
382 +   INLINE Boolean   Bad_Is_Detected                (Node_Id N)
383 +      { return Flag15 (N); }
384 +   INLINE Boolean   By_Ref                         (Node_Id N)
385 +      { return Flag5 (N); }
386 +   INLINE Boolean   Body_Required                  (Node_Id N)
387 +      { return Flag13 (N); }
388 +   INLINE Node_Id   Body_To_Inline                 (Node_Id N)
389 +      { return Node3 (N); }
390 +   INLINE Boolean   Box_Present                    (Node_Id N)
391 +      { return Flag15 (N); }
392 +   INLINE Char_Code Char_Literal_Value             (Node_Id N)
393 +      { return Char_Code2 (N); }
394 +   INLINE Name_Id   Chars                          (Node_Id N)
395 +      { return Name1 (N); }
396 +   INLINE Boolean   Check_Address_Alignment        (Node_Id N)
397 +      { return Flag11 (N); }
398 +   INLINE Node_Id   Choice_Parameter               (Node_Id N)
399 +      { return Node2 (N); }
400 +   INLINE List_Id   Choices                        (Node_Id N)
401 +      { return List1 (N); }
402 +   INLINE Boolean   Compile_Time_Known_Aggregate   (Node_Id N)
403 +      { return Flag18 (N); }
404 +   INLINE List_Id   Component_Associations         (Node_Id N)
405 +      { return List2 (N); }
406 +   INLINE List_Id   Component_Clauses              (Node_Id N)
407 +      { return List3 (N); }
408 +   INLINE Node_Id   Component_Definition           (Node_Id N)
409 +      { return Node4 (N); }
410 +   INLINE List_Id   Component_Items                (Node_Id N)
411 +      { return List3 (N); }
412 +   INLINE Node_Id   Component_List                 (Node_Id N)
413 +      { return Node1 (N); }
414 +   INLINE Node_Id   Component_Name                 (Node_Id N)
415 +      { return Node1 (N); }
416 +   INLINE Node_Id   Condition                      (Node_Id N)
417 +      { return Node1 (N); }
418 +   INLINE List_Id   Condition_Actions              (Node_Id N)
419 +      { return List3 (N); }
420 +   INLINE List_Id   Config_Pragmas                 (Node_Id N)
421 +      { return List4 (N); }
422 +   INLINE Boolean   Constant_Present               (Node_Id N)
423 +      { return Flag17 (N); }
424 +   INLINE Node_Id   Constraint                     (Node_Id N)
425 +      { return Node3 (N); }
426 +   INLINE List_Id   Constraints                    (Node_Id N)
427 +      { return List1 (N); }
428 +   INLINE Boolean   Context_Installed              (Node_Id N)
429 +      { return Flag13 (N); }
430 +   INLINE List_Id   Context_Items                  (Node_Id N)
431 +      { return List1 (N); }
432 +   INLINE Node_Id   Controlling_Argument           (Node_Id N)
433 +      { return Node1 (N); }
434 +   INLINE Boolean   Conversion_OK                  (Node_Id N)
435 +      { return Flag14 (N); }
436 +   INLINE Node_Id   Corresponding_Body             (Node_Id N)
437 +      { return Node5 (N); }
438 +   INLINE Node_Id   Corresponding_Generic_Association (Node_Id N)
439 +      { return Node5 (N); }
440 +   INLINE Uint      Corresponding_Integer_Value    (Node_Id N)
441 +      { return Uint4 (N); }
442 +   INLINE Node_Id   Corresponding_Spec             (Node_Id N)
443 +      { return Node5 (N); }
444 +   INLINE Node_Id   Corresponding_Stub             (Node_Id N)
445 +      { return Node3 (N); }
446 +   INLINE Entity_Id Dcheck_Function                (Node_Id N)
447 +      { return Node5 (N); }
448 +   INLINE Node_Id   Debug_Statement                (Node_Id N)
449 +      { return Node3 (N); }
450 +   INLINE List_Id   Declarations                   (Node_Id N)
451 +      { return List2 (N); }
452 +   INLINE Node_Id   Default_Expression             (Node_Id N)
453 +      { return Node5 (N); }
454 +   INLINE Node_Id   Default_Name                   (Node_Id N)
455 +      { return Node2 (N); }
456 +   INLINE Entity_Id Defining_Identifier            (Node_Id N)
457 +      { return Node1 (N); }
458 +   INLINE Node_Id   Defining_Unit_Name             (Node_Id N)
459 +      { return Node1 (N); }
460 +   INLINE Node_Id   Delay_Alternative              (Node_Id N)
461 +      { return Node4 (N); }
462 +   INLINE Boolean   Delay_Finalize_Attach          (Node_Id N)
463 +      { return Flag14 (N); }
464 +   INLINE Node_Id   Delay_Statement                (Node_Id N)
465 +      { return Node2 (N); }
466 +   INLINE Node_Id   Delta_Expression               (Node_Id N)
467 +      { return Node3 (N); }
468 +   INLINE Node_Id   Digits_Expression              (Node_Id N)
469 +      { return Node2 (N); }
470 +   INLINE Boolean   Discr_Check_Funcs_Built        (Node_Id N)
471 +      { return Flag11 (N); }
472 +   INLINE List_Id   Discrete_Choices               (Node_Id N)
473 +      { return List4 (N); }
474 +   INLINE Node_Id   Discrete_Range                 (Node_Id N)
475 +      { return Node4 (N); }
476 +   INLINE Node_Id   Discrete_Subtype_Definition    (Node_Id N)
477 +      { return Node4 (N); }
478 +   INLINE List_Id   Discrete_Subtype_Definitions   (Node_Id N)
479 +      { return List2 (N); }
480 +   INLINE List_Id   Discriminant_Specifications    (Node_Id N)
481 +      { return List4 (N); }
482 +   INLINE Node_Id   Discriminant_Type              (Node_Id N)
483 +      { return Node5 (N); }
484 +   INLINE Boolean   Do_Accessibility_Check         (Node_Id N)
485 +      { return Flag13 (N); }
486 +   INLINE Boolean   Do_Discriminant_Check          (Node_Id N)
487 +      { return Flag13 (N); }
488 +   INLINE Boolean   Do_Division_Check              (Node_Id N)
489 +      { return Flag13 (N); }
490 +   INLINE Boolean   Do_Length_Check                (Node_Id N)
491 +      { return Flag4 (N); }
492 +   INLINE Boolean   Do_Overflow_Check              (Node_Id N)
493 +      { return Flag17 (N); }
494 +   INLINE Boolean   Do_Range_Check                 (Node_Id N)
495 +      { return Flag9 (N); }
496 +   INLINE Boolean   Do_Storage_Check               (Node_Id N)
497 +      { return Flag17 (N); }
498 +   INLINE Boolean   Do_Tag_Check                   (Node_Id N)
499 +      { return Flag13 (N); }
500 +   INLINE Boolean   Elaborate_All_Present          (Node_Id N)
501 +      { return Flag15 (N); }
502 +   INLINE Boolean   Elaborate_Present              (Node_Id N)
503 +      { return Flag4 (N); }
504 +   INLINE Node_Id   Elaboration_Boolean            (Node_Id N)
505 +      { return Node2 (N); }
506 +   INLINE List_Id   Else_Actions                   (Node_Id N)
507 +      { return List3 (N); }
508 +   INLINE List_Id   Else_Statements                (Node_Id N)
509 +      { return List4 (N); }
510 +   INLINE List_Id   Elsif_Parts                    (Node_Id N)
511 +      { return List3 (N); }
512 +   INLINE Node_Id   Enclosing_Variant              (Node_Id N)
513 +      { return Node2 (N); }
514 +   INLINE Node_Id   End_Label                      (Node_Id N)
515 +      { return Node4 (N); }
516 +   INLINE Uint      End_Span                       (Node_Id N)
517 +      { return Uint5 (N); }
518 +   INLINE Node_Id   Entity                         (Node_Id N)
519 +      { return Node4 (N); }
520 +   INLINE Node_Id   Entity_Or_Associated_Node      (Node_Id N)
521 +      { return Node4 (N); }
522 +   INLINE Node_Id   Entry_Body_Formal_Part         (Node_Id N)
523 +      { return Node5 (N); }
524 +   INLINE Node_Id   Entry_Call_Alternative         (Node_Id N)
525 +      { return Node1 (N); }
526 +   INLINE Node_Id   Entry_Call_Statement           (Node_Id N)
527 +      { return Node1 (N); }
528 +   INLINE Node_Id   Entry_Direct_Name              (Node_Id N)
529 +      { return Node1 (N); }
530 +   INLINE Node_Id   Entry_Index                    (Node_Id N)
531 +      { return Node5 (N); }
532 +   INLINE Node_Id   Entry_Index_Specification      (Node_Id N)
533 +      { return Node4 (N); }
534 +   INLINE Node_Id   Etype                          (Node_Id N)
535 +      { return Node5 (N); }
536 +   INLINE List_Id   Exception_Choices              (Node_Id N)
537 +      { return List4 (N); }
538 +   INLINE List_Id   Exception_Handlers             (Node_Id N)
539 +      { return List5 (N); }
540 +   INLINE Boolean   Exception_Junk                 (Node_Id N)
541 +      { return Flag11 (N); }
542 +   INLINE Node_Id   Explicit_Actual_Parameter      (Node_Id N)
543 +      { return Node3 (N); }
544 +   INLINE Boolean   Expansion_Delayed              (Node_Id N)
545 +      { return Flag11 (N); }
546 +   INLINE Node_Id   Explicit_Generic_Actual_Parameter (Node_Id N)
547 +      { return Node1 (N); }
548 +   INLINE Node_Id   Expression                     (Node_Id N)
549 +      { return Node3 (N); }
550 +   INLINE List_Id   Expressions                    (Node_Id N)
551 +      { return List1 (N); }
552 +   INLINE Node_Id   First_Bit                      (Node_Id N)
553 +      { return Node3 (N); }
554 +   INLINE Entity_Id First_Inlined_Subprogram       (Node_Id N)
555 +      { return Node3 (N); }
556 +   INLINE Boolean   First_Name                     (Node_Id N)
557 +      { return Flag5 (N); }
558 +   INLINE Node_Id   First_Named_Actual             (Node_Id N)
559 +      { return Node4 (N); }
560 +   INLINE Node_Id   First_Real_Statement           (Node_Id N)
561 +      { return Node2 (N); }
562 +   INLINE Entity_Id First_Subtype_Link             (Node_Id N)
563 +      { return Node5 (N); }
564 +   INLINE Boolean   Float_Truncate                 (Node_Id N)
565 +      { return Flag11 (N); }
566 +   INLINE Node_Id   Formal_Type_Definition         (Node_Id N)
567 +      { return Node3 (N); }
568 +   INLINE Boolean   Forwards_OK                    (Node_Id N)
569 +      { return Flag5 (N); }
570 +   INLINE Boolean   From_At_Mod                    (Node_Id N)
571 +      { return Flag4 (N); }
572 +   INLINE List_Id   Generic_Associations           (Node_Id N)
573 +      { return List3 (N); }
574 +   INLINE List_Id   Generic_Formal_Declarations    (Node_Id N)
575 +      { return List2 (N); }
576 +   INLINE Node_Id   Generic_Parent                 (Node_Id N)
577 +      { return Node5 (N); }
578 +   INLINE Node_Id   Generic_Parent_Type            (Node_Id N)
579 +      { return Node4 (N); }
580 +   INLINE Node_Id   Handled_Statement_Sequence     (Node_Id N)
581 +      { return Node4 (N); }
582 +   INLINE Node_Id   Handler_List_Entry             (Node_Id N)
583 +      { return Node2 (N); }
584 +   INLINE Boolean   Has_Created_Identifier         (Node_Id N)
585 +      { return Flag15 (N); }
586 +   INLINE Boolean   Has_Dynamic_Length_Check       (Node_Id N)
587 +      { return Flag10 (N); }
588 +   INLINE Boolean   Has_Dynamic_Range_Check        (Node_Id N)
589 +      { return Flag12 (N); }
590 +   INLINE Boolean   Has_No_Elaboration_Code        (Node_Id N)
591 +      { return Flag17 (N); }
592 +   INLINE Boolean   Has_Priority_Pragma            (Node_Id N)
593 +      { return Flag6 (N); }
594 +   INLINE Boolean   Has_Private_View               (Node_Id N)
595 +      { return Flag11 (N); }
596 +   INLINE Boolean   Has_Storage_Size_Pragma        (Node_Id N)
597 +      { return Flag5 (N); }
598 +   INLINE Boolean   Has_Task_Info_Pragma           (Node_Id N)
599 +      { return Flag7 (N); }
600 +   INLINE Boolean   Has_Task_Name_Pragma           (Node_Id N)
601 +      { return Flag8 (N); }
602 +   INLINE Boolean   Has_Wide_Character             (Node_Id N)
603 +      { return Flag11 (N); }
604 +   INLINE Elist_Id  Hidden_By_Use_Clause           (Node_Id N)
605 +      { return Elist4 (N); }
606 +   INLINE Node_Id   High_Bound                     (Node_Id N)
607 +      { return Node2 (N); }
608 +   INLINE Node_Id   Identifier                     (Node_Id N)
609 +      { return Node1 (N); }
610 +   INLINE Boolean   Implicit_With                  (Node_Id N)
611 +      { return Flag16 (N); }
612 +   INLINE Boolean   In_Present                     (Node_Id N)
613 +      { return Flag15 (N); }
614 +   INLINE Boolean   Includes_Infinities            (Node_Id N)
615 +      { return Flag11 (N); }
616 +   INLINE Node_Id   Instance_Spec                  (Node_Id N)
617 +      { return Node5 (N); }
618 +   INLINE Uint      Intval                         (Node_Id N)
619 +      { return Uint3 (N); }
620 +   INLINE Boolean   Is_Asynchronous_Call_Block     (Node_Id N)
621 +      { return Flag7 (N); }
622 +   INLINE Boolean   Is_Component_Left_Opnd         (Node_Id N)
623 +      { return Flag13 (N); }
624 +   INLINE Boolean   Is_Component_Right_Opnd        (Node_Id N)
625 +      { return Flag14 (N); }
626 +   INLINE Boolean   Is_Controlling_Actual          (Node_Id N)
627 +      { return Flag16 (N); }
628 +   INLINE Boolean   Is_In_Discriminant_Check       (Node_Id N)
629 +      { return Flag11 (N); }
630 +   INLINE Boolean   Is_Machine_Number              (Node_Id N)
631 +      { return Flag11 (N); }
632 +   INLINE Boolean   Is_Null_Loop                   (Node_Id N)
633 +      { return Flag16 (N); }
634 +   INLINE Boolean   Is_Overloaded                  (Node_Id N)
635 +      { return Flag5 (N); }
636 +   INLINE Boolean   Is_Power_Of_2_For_Shift        (Node_Id N)
637 +      { return Flag13 (N); }
638 +   INLINE Boolean   Is_Protected_Subprogram_Body   (Node_Id N)
639 +      { return Flag7 (N); }
640 +   INLINE Boolean   Is_Static_Expression           (Node_Id N)
641 +      { return Flag6 (N); }
642 +   INLINE Boolean   Is_Subprogram_Descriptor       (Node_Id N)
643 +      { return Flag16 (N); }
644 +   INLINE Boolean   Is_Task_Allocation_Block       (Node_Id N)
645 +      { return Flag6 (N); }
646 +   INLINE Boolean   Is_Task_Master                 (Node_Id N)
647 +      { return Flag5 (N); }
648 +   INLINE Node_Id   Iteration_Scheme               (Node_Id N)
649 +      { return Node2 (N); }
650 +   INLINE Entity_Id Itype                          (Node_Id N)
651 +      { return Node1 (N); }
652 +   INLINE Boolean   Kill_Range_Check               (Node_Id N)
653 +      { return Flag11 (N); }
654 +   INLINE Node_Id   Label_Construct                (Node_Id N)
655 +      { return Node2 (N); }
656 +   INLINE Node_Id   Left_Opnd                      (Node_Id N)
657 +      { return Node2 (N); }
658 +   INLINE Node_Id   Last_Bit                       (Node_Id N)
659 +      { return Node4 (N); }
660 +   INLINE Boolean   Last_Name                      (Node_Id N)
661 +      { return Flag6 (N); }
662 +   INLINE Node_Id   Library_Unit                   (Node_Id N)
663 +      { return Node4 (N); }
664 +   INLINE Boolean   Limited_View_Installed         (Node_Id N)
665 +      { return Flag18 (N); }
666 +   INLINE Boolean   Limited_Present                (Node_Id N)
667 +      { return Flag17 (N); }
668 +   INLINE List_Id   Literals                       (Node_Id N)
669 +      { return List1 (N); }
670 +   INLINE List_Id   Loop_Actions                   (Node_Id N)
671 +      { return List2 (N); }
672 +   INLINE Node_Id   Loop_Parameter_Specification   (Node_Id N)
673 +      { return Node4 (N); }
674 +   INLINE Node_Id   Low_Bound                      (Node_Id N)
675 +      { return Node1 (N); }
676 +   INLINE Node_Id   Mod_Clause                     (Node_Id N)
677 +      { return Node2 (N); }
678 +   INLINE Boolean   More_Ids                       (Node_Id N)
679 +      { return Flag5 (N); }
680 +   INLINE Boolean   Must_Be_Byte_Aligned           (Node_Id N)
681 +      { return Flag14 (N); }
682 +   INLINE Boolean   Must_Not_Freeze                (Node_Id N)
683 +      { return Flag8 (N); }
684 +   INLINE Node_Id   Name                           (Node_Id N)
685 +      { return Node2 (N); }
686 +   INLINE List_Id   Names                          (Node_Id N)
687 +      { return List2 (N); }
688 +   INLINE Node_Id   Next_Entity                    (Node_Id N)
689 +      { return Node2 (N); }
690 +   INLINE Node_Id   Next_Named_Actual              (Node_Id N)
691 +      { return Node4 (N); }
692 +   INLINE Node_Id   Next_Rep_Item                  (Node_Id N)
693 +      { return Node4 (N); }
694 +   INLINE Node_Id   Next_Use_Clause                (Node_Id N)
695 +      { return Node3 (N); }
696 +   INLINE Boolean   No_Ctrl_Actions                (Node_Id N)
697 +      { return Flag7 (N); }
698 +   INLINE Boolean   No_Elaboration_Check           (Node_Id N)
699 +      { return Flag14 (N); }
700 +   INLINE Boolean   No_Entities_Ref_In_Spec        (Node_Id N)
701 +      { return Flag8 (N); }
702 +   INLINE Boolean   No_Initialization              (Node_Id N)
703 +      { return Flag13 (N); }
704 +   INLINE Boolean   No_Truncation                  (Node_Id N)
705 +      { return Flag17 (N); }
706 +   INLINE Boolean   Null_Present                   (Node_Id N)
707 +      { return Flag13 (N); }
708 +   INLINE Boolean   Null_Record_Present            (Node_Id N)
709 +      { return Flag17 (N); }
710 +   INLINE Node_Id   Object_Definition              (Node_Id N)
711 +      { return Node4 (N); }
712 +   INLINE Boolean   OK_For_Stream                  (Node_Id N)
713 +      { return Flag4 (N); }
714 +   INLINE Node_Id   Original_Discriminant          (Node_Id N)
715 +      { return Node2 (N); }
716 +   INLINE Entity_Id Original_Entity                (Node_Id N)
717 +      { return Node2 (N); }
718 +   INLINE List_Id   Others_Discrete_Choices        (Node_Id N)
719 +      { return List1 (N); }
720 +   INLINE Boolean   Out_Present                    (Node_Id N)
721 +      { return Flag17 (N); }
722 +   INLINE List_Id   Parameter_Associations         (Node_Id N)
723 +      { return List3 (N); }
724 +   INLINE Boolean   Parameter_List_Truncated       (Node_Id N)
725 +      { return Flag17 (N); }
726 +   INLINE List_Id   Parameter_Specifications       (Node_Id N)
727 +      { return List3 (N); }
728 +   INLINE Node_Id   Parameter_Type                 (Node_Id N)
729 +      { return Node2 (N); }
730 +   INLINE Node_Id   Parent_Spec                    (Node_Id N)
731 +      { return Node4 (N); }
732 +   INLINE Node_Id   Position                       (Node_Id N)
733 +      { return Node2 (N); }
734 +   INLINE List_Id   Pragma_Argument_Associations   (Node_Id N)
735 +      { return List2 (N); }
736 +   INLINE List_Id   Pragmas_After                  (Node_Id N)
737 +      { return List5 (N); }
738 +   INLINE List_Id   Pragmas_Before                 (Node_Id N)
739 +      { return List4 (N); }
740 +   INLINE Node_Id   Prefix                         (Node_Id N)
741 +      { return Node3 (N); }
742 +   INLINE Uint      Present_Expr                   (Node_Id N)
743 +      { return Uint3 (N); }
744 +   INLINE Boolean   Prev_Ids                       (Node_Id N)
745 +      { return Flag6 (N); }
746 +   INLINE Boolean   Print_In_Hex                   (Node_Id N)
747 +      { return Flag13 (N); }
748 +   INLINE List_Id   Private_Declarations           (Node_Id N)
749 +      { return List3 (N); }
750 +   INLINE Boolean   Private_Present                (Node_Id N)
751 +      { return Flag15 (N); }
752 +   INLINE Node_Id   Procedure_To_Call              (Node_Id N)
753 +      { return Node4 (N); }
754 +   INLINE Node_Id   Proper_Body                    (Node_Id N)
755 +      { return Node1 (N); }
756 +   INLINE Node_Id   Protected_Definition           (Node_Id N)
757 +      { return Node3 (N); }
758 +   INLINE Boolean   Protected_Present              (Node_Id N)
759 +      { return Flag15 (N); }
760 +   INLINE Boolean   Raises_Constraint_Error        (Node_Id N)
761 +      { return Flag7 (N); }
762 +   INLINE Node_Id   Range_Constraint               (Node_Id N)
763 +      { return Node4 (N); }
764 +   INLINE Node_Id   Range_Expression               (Node_Id N)
765 +      { return Node4 (N); }
766 +   INLINE Node_Id   Real_Range_Specification       (Node_Id N)
767 +      { return Node4 (N); }
768 +   INLINE Ureal     Realval                        (Node_Id N)
769 +      { return Ureal3 (N); }
770 +   INLINE Uint      Reason                         (Node_Id N)
771 +      { return Uint3 (N); }
772 +   INLINE Node_Id   Record_Extension_Part          (Node_Id N)
773 +      { return Node3 (N); }
774 +   INLINE Boolean   Redundant_Use                  (Node_Id N)
775 +      { return Flag13 (N); }
776 +   INLINE Node_Id   Return_Type                    (Node_Id N)
777 +      { return Node2 (N); }
778 +   INLINE Boolean   Reverse_Present                (Node_Id N)
779 +      { return Flag15 (N); }
780 +   INLINE Node_Id   Right_Opnd                     (Node_Id N)
781 +      { return Node3 (N); }
782 +   INLINE Boolean   Rounded_Result                 (Node_Id N)
783 +      { return Flag18 (N); }
784 +   INLINE Node_Id   Scope                          (Node_Id N)
785 +      { return Node3 (N); }
786 +   INLINE List_Id   Select_Alternatives            (Node_Id N)
787 +      { return List1 (N); }
788 +   INLINE Node_Id   Selector_Name                  (Node_Id N)
789 +      { return Node2 (N); }
790 +   INLINE List_Id   Selector_Names                 (Node_Id N)
791 +      { return List1 (N); }
792 +   INLINE Boolean   Shift_Count_OK                 (Node_Id N)
793 +      { return Flag4 (N); }
794 +   INLINE Entity_Id Source_Type                    (Node_Id N)
795 +      { return Node1 (N); }
796 +   INLINE Node_Id   Specification                  (Node_Id N)
797 +      { return Node1 (N); }
798 +   INLINE List_Id   Statements                     (Node_Id N)
799 +      { return List3 (N); }
800 +   INLINE Boolean   Static_Processing_OK           (Node_Id N)
801 +      { return Flag4 (N); }
802 +   INLINE Node_Id   Storage_Pool                   (Node_Id N)
803 +      { return Node1 (N); }
804 +   INLINE String_Id Strval                         (Node_Id N)
805 +      { return Str3 (N); }
806 +   INLINE Node_Id   Subtype_Indication             (Node_Id N)
807 +      { return Node5 (N); }
808 +   INLINE Node_Id   Subtype_Mark                   (Node_Id N)
809 +      { return Node4 (N); }
810 +   INLINE List_Id   Subtype_Marks                  (Node_Id N)
811 +      { return List2 (N); }
812 +   INLINE Boolean   Tagged_Present                 (Node_Id N)
813 +      { return Flag15 (N); }
814 +   INLINE Entity_Id Target_Type                    (Node_Id N)
815 +      { return Node2 (N); }
816 +   INLINE Entity_Id Task_Body_Procedure            (Node_Id N)
817 +      { return Node2 (N); }
818 +   INLINE Node_Id   Task_Definition                (Node_Id N)
819 +      { return Node3 (N); }
820 +   INLINE List_Id   Then_Actions                   (Node_Id N)
821 +      { return List2 (N); }
822 +   INLINE List_Id   Then_Statements                (Node_Id N)
823 +      { return List2 (N); }
824 +   INLINE Boolean   Treat_Fixed_As_Integer         (Node_Id N)
825 +      { return Flag14 (N); }
826 +   INLINE Node_Id   Triggering_Alternative         (Node_Id N)
827 +      { return Node1 (N); }
828 +   INLINE Node_Id   Triggering_Statement           (Node_Id N)
829 +      { return Node1 (N); }
830 +   INLINE Elist_Id  TSS_Elist                      (Node_Id N)
831 +      { return Elist3 (N); }
832 +   INLINE Node_Id   Type_Definition                (Node_Id N)
833 +      { return Node3 (N); }
834 +   INLINE Node_Id   Unit                           (Node_Id N)
835 +      { return Node2 (N); }
836 +   INLINE Boolean   Unknown_Discriminants_Present  (Node_Id N)
837 +      { return Flag13 (N); }
838 +   INLINE Boolean   Unreferenced_In_Spec           (Node_Id N)
839 +      { return Flag7 (N); }
840 +   INLINE Node_Id   Variant_Part                   (Node_Id N)
841 +      { return Node4 (N); }
842 +   INLINE List_Id   Variants                       (Node_Id N)
843 +      { return List1 (N); }
844 +   INLINE List_Id   Visible_Declarations           (Node_Id N)
845 +      { return List2 (N); }
846 +   INLINE Boolean   Was_Originally_Stub            (Node_Id N)
847 +      { return Flag13 (N); }
848 +   INLINE Boolean   Zero_Cost_Handling             (Node_Id N)
849 +      { return Flag5 (N); }
850 +
851 --- gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/einfo.h.orig  1970-01-01 01:00:00.000000000 +0100
852 +++ gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/einfo.h       2004-06-02 00:54:19.000000000 +0200
853 @@ -0,0 +1,1814 @@
854 +/*--------------------------------------------------------------------------*/
855 +/*                                                                          */
856 +/*                         GNAT COMPILER COMPONENTS                         */
857 +/*                                                                          */
858 +/*                                E I N F O                                 */
859 +/*                                                                          */
860 +/*                              C Header File                               */
861 +/*                                                                          */
862 +/*          Copyright (C) 1992-2003 Free Software Foundation, Inc.          */
863 +/*                                                                          */
864 +/* GNAT is free software;  you can  redistribute it  and/or modify it under */
865 +/* terms of the  GNU General Public License as published  by the Free Soft- */
866 +/* ware  Foundation;  either version 2,  or (at your option) any later ver- */
867 +/* sion.  GNAT is distributed in the hope that it will be useful, but WITH- */
868 +/* OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY */
869 +/* or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License */
870 +/* for  more details.  You should have  received  a copy of the GNU General */
871 +/* Public License  distributed with GNAT;  see file COPYING.  If not, write */
872 +/* to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, */
873 +/* MA 02111-1307, USA.                                                      */
874 +/*                                                                          */
875 +/* As a special exception,  if other files  instantiate  generics from this */
876 +/* unit, or you link  this unit with other files  to produce an executable, */
877 +/* this  unit  does not  by itself cause  the resulting  executable  to  be */
878 +/* covered  by the  GNU  General  Public  License.  This exception does not */
879 +/* however invalidate  any other reasons why  the executable file  might be */
880 +/* covered by the  GNU Public License.                                      */
881 +/*                                                                          */
882 +/* GNAT was originally developed  by the GNAT team at  New York University. */
883 +/* Extensive contributions were provided by Ada Core Technologies Inc.      */
884 +/*                                                                          */
885 +/*--------------------------------------------------------------------------*/
886 +
887 +   #define E_Void                           0
888 +   #define E_Variable                       1
889 +   #define E_Component                      2
890 +   #define E_Constant                       3
891 +   #define E_Discriminant                   4
892 +   #define E_Loop_Parameter                 5
893 +   #define E_In_Parameter                   6
894 +   #define E_Out_Parameter                  7
895 +   #define E_In_Out_Parameter               8
896 +   #define E_Generic_In_Out_Parameter       9
897 +   #define E_Generic_In_Parameter           10
898 +   #define E_Named_Integer                  11
899 +   #define E_Named_Real                     12
900 +   #define E_Enumeration_Type               13
901 +   #define E_Enumeration_Subtype            14
902 +   #define E_Signed_Integer_Type            15
903 +   #define E_Signed_Integer_Subtype         16
904 +   #define E_Modular_Integer_Type           17
905 +   #define E_Modular_Integer_Subtype        18
906 +   #define E_Ordinary_Fixed_Point_Type      19
907 +   #define E_Ordinary_Fixed_Point_Subtype   20
908 +   #define E_Decimal_Fixed_Point_Type       21
909 +   #define E_Decimal_Fixed_Point_Subtype    22
910 +   #define E_Floating_Point_Type            23
911 +   #define E_Floating_Point_Subtype         24
912 +   #define E_Access_Type                    25
913 +   #define E_Access_Subtype                 26
914 +   #define E_Access_Attribute_Type          27
915 +   #define E_Allocator_Type                 28
916 +   #define E_General_Access_Type            29
917 +   #define E_Access_Subprogram_Type         30
918 +   #define E_Access_Protected_Subprogram_Type 31
919 +   #define E_Anonymous_Access_Type          32
920 +   #define E_Array_Type                     33
921 +   #define E_Array_Subtype                  34
922 +   #define E_String_Type                    35
923 +   #define E_String_Subtype                 36
924 +   #define E_String_Literal_Subtype         37
925 +   #define E_Class_Wide_Type                38
926 +   #define E_Class_Wide_Subtype             39
927 +   #define E_Record_Type                    40
928 +   #define E_Record_Subtype                 41
929 +   #define E_Record_Type_With_Private       42
930 +   #define E_Record_Subtype_With_Private    43
931 +   #define E_Private_Type                   44
932 +   #define E_Private_Subtype                45
933 +   #define E_Limited_Private_Type           46
934 +   #define E_Limited_Private_Subtype        47
935 +   #define E_Incomplete_Type                48
936 +   #define E_Task_Type                      49
937 +   #define E_Task_Subtype                   50
938 +   #define E_Protected_Type                 51
939 +   #define E_Protected_Subtype              52
940 +   #define E_Exception_Type                 53
941 +   #define E_Subprogram_Type                54
942 +   #define E_Enumeration_Literal            55
943 +   #define E_Function                       56
944 +   #define E_Operator                       57
945 +   #define E_Procedure                      58
946 +   #define E_Entry                          59
947 +   #define E_Entry_Family                   60
948 +   #define E_Block                          61
949 +   #define E_Entry_Index_Parameter          62
950 +   #define E_Exception                      63
951 +   #define E_Generic_Function               64
952 +   #define E_Generic_Procedure              65
953 +   #define E_Generic_Package                66
954 +   #define E_Label                          67
955 +   #define E_Loop                           68
956 +   #define E_Package                        69
957 +   #define E_Package_Body                   70
958 +   #define E_Protected_Object               71
959 +   #define E_Protected_Body                 72
960 +   #define E_Task_Body                      73
961 +   #define E_Subprogram_Body                74
962 +
963 +   SUBTYPE (Access_Kind, Entity_Kind, 
964 +      E_Access_Type, E_Anonymous_Access_Type)
965 +
966 +   SUBTYPE (Array_Kind, Entity_Kind, 
967 +      E_Array_Type, E_String_Literal_Subtype)
968 +
969 +   SUBTYPE (Class_Wide_Kind, Entity_Kind, 
970 +      E_Class_Wide_Type, E_Class_Wide_Subtype)
971 +
972 +   SUBTYPE (Composite_Kind, Entity_Kind, 
973 +      E_Array_Type, E_Protected_Subtype)
974 +
975 +   SUBTYPE (Concurrent_Kind, Entity_Kind, 
976 +      E_Task_Type, E_Protected_Subtype)
977 +
978 +   SUBTYPE (Concurrent_Body_Kind, Entity_Kind, 
979 +      E_Protected_Body, E_Task_Body)
980 +
981 +   SUBTYPE (Decimal_Fixed_Point_Kind, Entity_Kind, 
982 +      E_Decimal_Fixed_Point_Type, E_Decimal_Fixed_Point_Subtype)
983 +
984 +   SUBTYPE (Digits_Kind, Entity_Kind, 
985 +      E_Decimal_Fixed_Point_Type, E_Floating_Point_Subtype)
986 +
987 +   SUBTYPE (Discrete_Kind, Entity_Kind, 
988 +      E_Enumeration_Type, E_Modular_Integer_Subtype)
989 +
990 +   SUBTYPE (Discrete_Or_Fixed_Point_Kind, Entity_Kind, 
991 +      E_Enumeration_Type, E_Decimal_Fixed_Point_Subtype)
992 +
993 +   SUBTYPE (Elementary_Kind, Entity_Kind, 
994 +      E_Enumeration_Type, E_Anonymous_Access_Type)
995 +
996 +   SUBTYPE (Enumeration_Kind, Entity_Kind, 
997 +      E_Enumeration_Type, E_Enumeration_Subtype)
998 +
999 +   SUBTYPE (Entry_Kind, Entity_Kind, 
1000 +      E_Entry, E_Entry_Family)
1001 +
1002 +   SUBTYPE (Fixed_Point_Kind, Entity_Kind, 
1003 +      E_Ordinary_Fixed_Point_Type, E_Decimal_Fixed_Point_Subtype)
1004 +
1005 +   SUBTYPE (Float_Kind, Entity_Kind, 
1006 +      E_Floating_Point_Type, E_Floating_Point_Subtype)
1007 +
1008 +   SUBTYPE (Formal_Kind, Entity_Kind, 
1009 +      E_In_Parameter, E_In_Out_Parameter)
1010 +
1011 +   SUBTYPE (Generic_Subprogram_Kind, Entity_Kind, 
1012 +      E_Generic_Function, E_Generic_Procedure)
1013 +
1014 +   SUBTYPE (Generic_Unit_Kind, Entity_Kind, 
1015 +      E_Generic_Function, E_Generic_Package)
1016 +
1017 +   SUBTYPE (Incomplete_Or_Private_Kind, Entity_Kind, 
1018 +      E_Record_Type_With_Private, E_Incomplete_Type)
1019 +
1020 +   SUBTYPE (Integer_Kind, Entity_Kind, 
1021 +      E_Signed_Integer_Type, E_Modular_Integer_Subtype)
1022 +
1023 +   SUBTYPE (Modular_Integer_Kind, Entity_Kind, 
1024 +      E_Modular_Integer_Type, E_Modular_Integer_Subtype)
1025 +
1026 +   SUBTYPE (Named_Kind, Entity_Kind, 
1027 +      E_Named_Integer, E_Named_Real)
1028 +
1029 +   SUBTYPE (Numeric_Kind, Entity_Kind, 
1030 +      E_Signed_Integer_Type, E_Floating_Point_Subtype)
1031 +
1032 +   SUBTYPE (Object_Kind, Entity_Kind, 
1033 +      E_Variable, E_Generic_In_Parameter)
1034 +
1035 +   SUBTYPE (Ordinary_Fixed_Point_Kind, Entity_Kind, 
1036 +      E_Ordinary_Fixed_Point_Type, E_Ordinary_Fixed_Point_Subtype)
1037 +
1038 +   SUBTYPE (Overloadable_Kind, Entity_Kind, 
1039 +      E_Enumeration_Literal, E_Entry)
1040 +
1041 +   SUBTYPE (Private_Kind, Entity_Kind, 
1042 +      E_Record_Type_With_Private, E_Limited_Private_Subtype)
1043 +
1044 +   SUBTYPE (Protected_Kind, Entity_Kind, 
1045 +      E_Protected_Type, E_Protected_Subtype)
1046 +
1047 +   SUBTYPE (Real_Kind, Entity_Kind, 
1048 +      E_Ordinary_Fixed_Point_Type, E_Floating_Point_Subtype)
1049 +
1050 +   SUBTYPE (Record_Kind, Entity_Kind, 
1051 +      E_Class_Wide_Type, E_Record_Subtype_With_Private)
1052 +
1053 +   SUBTYPE (Scalar_Kind, Entity_Kind, 
1054 +      E_Enumeration_Type, E_Floating_Point_Subtype)
1055 +
1056 +   SUBTYPE (String_Kind, Entity_Kind, 
1057 +      E_String_Type, E_String_Literal_Subtype)
1058 +
1059 +   SUBTYPE (Subprogram_Kind, Entity_Kind, 
1060 +      E_Function, E_Procedure)
1061 +
1062 +   SUBTYPE (Signed_Integer_Kind, Entity_Kind, 
1063 +      E_Signed_Integer_Type, E_Signed_Integer_Subtype)
1064 +
1065 +   SUBTYPE (Task_Kind, Entity_Kind, 
1066 +      E_Task_Type, E_Task_Subtype)
1067 +
1068 +   SUBTYPE (Type_Kind, Entity_Kind, 
1069 +      E_Enumeration_Type, E_Subprogram_Type)
1070 +
1071 +   typedef char Component_Alignment_Kind;
1072 +      #define Calign_Default           0
1073 +      #define Calign_Component_Size    1
1074 +      #define Calign_Component_Size_4  2
1075 +      #define Calign_Storage_Unit      3
1076 +
1077 +   typedef Boolean B;
1078 +   typedef Component_Alignment_Kind C;
1079 +   typedef Entity_Id E;
1080 +   typedef Mechanism_Type M;
1081 +   typedef Node_Id N;
1082 +   typedef Uint U;
1083 +   typedef Ureal R;
1084 +   typedef Elist_Id L;
1085 +   typedef List_Id S;
1086 +
1087 +   INLINE L Accept_Address                     (E Id);
1088 +   INLINE E Access_Disp_Table                  (E Id);
1089 +   INLINE E Actual_Subtype                     (E Id);
1090 +   INLINE B Address_Taken                      (E Id);
1091 +   INLINE E Alias                              (E Id);
1092 +   INLINE U Alignment                          (E Id);
1093 +   INLINE E Associated_Final_Chain             (E Id);
1094 +   INLINE E Associated_Formal_Package          (E Id);
1095 +   INLINE N Associated_Node_For_Itype          (E Id);
1096 +   INLINE E Associated_Storage_Pool            (E Id);
1097 +   INLINE N Barrier_Function                   (E Id);
1098 +   INLINE N Block_Node                         (E Id);
1099 +   INLINE E Body_Entity                        (E Id);
1100 +   INLINE B Body_Needed_For_SAL                (E Id);
1101 +   INLINE E CR_Discriminant                    (E Id);
1102 +   INLINE B C_Pass_By_Copy                     (E Id);
1103 +   INLINE B Can_Never_Be_Null                  (E Id);
1104 +   INLINE B Checks_May_Be_Suppressed           (E Id);
1105 +   INLINE E Class_Wide_Type                    (E Id);
1106 +   INLINE E Cloned_Subtype                     (E Id);
1107 +
1108 +   #define Component_Alignment einfo__component_alignment
1109 +   C Component_Alignment                (E Id);
1110 +
1111 +   INLINE N Component_Clause                   (E Id);
1112 +   INLINE U Component_Bit_Offset               (E Id);
1113 +   INLINE U Component_Size                     (E Id);
1114 +   INLINE E Component_Type                     (E Id);
1115 +   INLINE E Corresponding_Concurrent_Type      (E Id);
1116 +   INLINE E Corresponding_Discriminant         (E Id);
1117 +   INLINE E Corresponding_Equality             (E Id);
1118 +   INLINE E Corresponding_Record_Type          (E Id);
1119 +   INLINE E Corresponding_Remote_Type          (E Id);
1120 +   INLINE N Current_Value                      (E Id);
1121 +   INLINE B Debug_Info_Off                     (E Id);
1122 +   INLINE E Debug_Renaming_Link                (E Id);
1123 +   INLINE E DTC_Entity                         (E Id);
1124 +   INLINE U DT_Entry_Count                     (E Id);
1125 +   INLINE U DT_Position                        (E Id);
1126 +   INLINE E Default_Expr_Function              (E Id);
1127 +   INLINE B Default_Expressions_Processed      (E Id);
1128 +   INLINE N Default_Value                      (E Id);
1129 +   INLINE B Delay_Cleanups                     (E Id);
1130 +   INLINE B Delay_Subprogram_Descriptors       (E Id);
1131 +   INLINE R Delta_Value                        (E Id);
1132 +   INLINE L Dependent_Instances                (E Id);
1133 +   INLINE B Depends_On_Private                 (E Id);
1134 +   INLINE U Digits_Value                       (E Id);
1135 +   INLINE E Directly_Designated_Type           (E Id);
1136 +   INLINE B Discard_Names                      (E Id);
1137 +   INLINE E Discriminal                        (E Id);
1138 +   INLINE E Discriminal_Link                   (E Id);
1139 +   INLINE E Discriminant_Checking_Func         (E Id);
1140 +   INLINE L Discriminant_Constraint            (E Id);
1141 +   INLINE N Discriminant_Default_Value         (E Id);
1142 +   INLINE U Discriminant_Number                (E Id);
1143 +   INLINE B Elaborate_All_Desirable            (E Id);
1144 +   INLINE E Elaboration_Entity                 (E Id);
1145 +   INLINE B Elaboration_Entity_Required        (E Id);
1146 +   INLINE E Enclosing_Scope                    (E Id);
1147 +   INLINE B Entry_Accepted                     (E Id);
1148 +   INLINE E Entry_Bodies_Array                 (E Id);
1149 +   INLINE E Entry_Cancel_Parameter             (E Id);
1150 +   INLINE E Entry_Component                    (E Id);
1151 +   INLINE E Entry_Formal                       (E Id);
1152 +   INLINE E Entry_Index_Constant               (E Id);
1153 +   INLINE E Entry_Index_Type                   (E Id);
1154 +   INLINE E Entry_Parameters_Type              (E Id);
1155 +   INLINE E Enum_Pos_To_Rep                    (E Id);
1156 +   INLINE U Enumeration_Pos                    (E Id);
1157 +   INLINE U Enumeration_Rep                    (E Id);
1158 +   INLINE N Enumeration_Rep_Expr               (E Id);
1159 +   INLINE E Equivalent_Type                    (E Id);
1160 +   INLINE U Esize                              (E Id);
1161 +   INLINE U Exception_Code                     (E Id);
1162 +   INLINE E Extra_Accessibility                (E Id);
1163 +   INLINE E Extra_Constrained                  (E Id);
1164 +   INLINE E Extra_Formal                       (E Id);
1165 +   INLINE E Finalization_Chain_Entity          (E Id);
1166 +
1167 +   #define Finalize_Storage_Only einfo__finalize_storage_only
1168 +   B Finalize_Storage_Only              (E Id);
1169 +
1170 +   INLINE E First_Entity                       (E Id);
1171 +   INLINE N First_Index                        (E Id);
1172 +   INLINE E First_Literal                      (E Id);
1173 +   INLINE E First_Optional_Parameter           (E Id);
1174 +   INLINE E First_Private_Entity               (E Id);
1175 +   INLINE N First_Rep_Item                     (E Id);
1176 +   INLINE N Freeze_Node                        (E Id);
1177 +   INLINE B From_With_Type                     (E Id);
1178 +   INLINE E Full_View                          (E Id);
1179 +   INLINE B Function_Returns_With_DSP          (E Id);
1180 +   INLINE E Generic_Homonym                    (E Id);
1181 +   INLINE L Generic_Renamings                  (E Id);
1182 +   INLINE S Handler_Records                    (E Id);
1183 +   INLINE B Has_Aliased_Components             (E Id);
1184 +   INLINE B Has_Alignment_Clause               (E Id);
1185 +   INLINE B Has_All_Calls_Remote               (E Id);
1186 +   INLINE B Has_Atomic_Components              (E Id);
1187 +   INLINE B Has_Biased_Representation          (E Id);
1188 +   INLINE B Has_Completion                     (E Id);
1189 +   INLINE B Has_Completion_In_Body             (E Id);
1190 +   INLINE B Has_Complex_Representation         (E Id);
1191 +   INLINE B Has_Component_Size_Clause          (E Id);
1192 +   INLINE B Has_Contiguous_Rep                 (E Id);
1193 +   INLINE B Has_Controlled_Component           (E Id);
1194 +   INLINE B Has_Controlling_Result             (E Id);
1195 +   INLINE B Has_Convention_Pragma              (E Id);
1196 +   INLINE B Has_Delayed_Freeze                 (E Id);
1197 +   INLINE B Has_Discriminants                  (E Id);
1198 +   INLINE B Has_Enumeration_Rep_Clause         (E Id);
1199 +   INLINE B Has_Exit                           (E Id);
1200 +   INLINE B Has_External_Tag_Rep_Clause        (E Id);
1201 +   INLINE B Has_Fully_Qualified_Name           (E Id);
1202 +   INLINE B Has_Gigi_Rep_Item                  (E Id);
1203 +   INLINE B Has_Homonym                        (E Id);
1204 +
1205 +   #define Has_Interrupt_Handler einfo__has_interrupt_handler
1206 +   B Has_Interrupt_Handler              (E Id);
1207 +
1208 +   INLINE B Has_Machine_Radix_Clause           (E Id);
1209 +   INLINE B Has_Master_Entity                  (E Id);
1210 +   INLINE B Has_Missing_Return                 (E Id);
1211 +   INLINE B Has_Nested_Block_With_Handler      (E Id);
1212 +   INLINE B Has_Forward_Instantiation          (E Id);
1213 +   INLINE B Has_Non_Standard_Rep               (E Id);
1214 +   INLINE B Has_Object_Size_Clause             (E Id);
1215 +   INLINE B Has_Per_Object_Constraint          (E Id);
1216 +   INLINE B Has_Pragma_Controlled              (E Id);
1217 +   INLINE B Has_Pragma_Elaborate_Body          (E Id);
1218 +   INLINE B Has_Pragma_Inline                  (E Id);
1219 +   INLINE B Has_Pragma_Pack                    (E Id);
1220 +   INLINE B Has_Pragma_Pure_Function           (E Id);
1221 +   INLINE B Has_Pragma_Unreferenced            (E Id);
1222 +   INLINE B Has_Primitive_Operations           (E Id);
1223 +   INLINE B Has_Qualified_Name                 (E Id);
1224 +   INLINE B Has_Record_Rep_Clause              (E Id);
1225 +   INLINE B Has_Recursive_Call                 (E Id);
1226 +   INLINE B Has_Size_Clause                    (E Id);
1227 +   INLINE B Has_Small_Clause                   (E Id);
1228 +   INLINE B Has_Specified_Layout               (E Id);
1229 +   INLINE B Has_Storage_Size_Clause            (E Id);
1230 +   INLINE B Has_Subprogram_Descriptor          (E Id);
1231 +   INLINE B Has_Task                           (E Id);
1232 +   INLINE B Has_Unchecked_Union                (E Id);
1233 +   INLINE B Has_Unknown_Discriminants          (E Id);
1234 +   INLINE B Has_Volatile_Components            (E Id);
1235 +   INLINE B Has_Xref_Entry                     (E Id);
1236 +   INLINE E Hiding_Loop_Variable               (E Id);
1237 +   INLINE E Homonym                            (E Id);
1238 +   INLINE B In_Package_Body                    (E Id);
1239 +   INLINE B In_Private_Part                    (E Id);
1240 +   INLINE B In_Use                             (E Id);
1241 +   INLINE L Inner_Instances                    (E Id);
1242 +   INLINE N Interface_Name                     (E Id);
1243 +   INLINE B Is_AST_Entry                       (E Id);
1244 +   INLINE B Is_Abstract                        (E Id);
1245 +   INLINE B Is_Access_Constant                 (E Id);
1246 +   INLINE B Is_Aliased                         (E Id);
1247 +   INLINE B Is_Asynchronous                    (E Id);
1248 +   INLINE B Is_Atomic                          (E Id);
1249 +   INLINE B Is_Bit_Packed_Array                (E Id);
1250 +   INLINE B Is_CPP_Class                       (E Id);
1251 +   INLINE B Is_Called                          (E Id);
1252 +   INLINE B Is_Character_Type                  (E Id);
1253 +   INLINE B Is_Child_Unit                      (E Id);
1254 +   INLINE B Is_Class_Wide_Equivalent_Type      (E Id);
1255 +   INLINE B Is_Compilation_Unit                (E Id);
1256 +   INLINE B Is_Completely_Hidden               (E Id);
1257 +   INLINE B Is_Constr_Subt_For_UN_Aliased      (E Id);
1258 +   INLINE B Is_Constr_Subt_For_U_Nominal       (E Id);
1259 +   INLINE B Is_Constrained                     (E Id);
1260 +   INLINE B Is_Constructor                     (E Id);
1261 +   INLINE B Is_Controlled                      (E Id);
1262 +   INLINE B Is_Controlling_Formal              (E Id);
1263 +   INLINE B Is_Discrim_SO_Function             (E Id);
1264 +   INLINE B Is_Dispatching_Operation           (E Id);
1265 +   INLINE B Is_Eliminated                      (E Id);
1266 +   INLINE B Is_Entry_Formal                    (E Id);
1267 +   INLINE B Is_Exported                        (E Id);
1268 +   INLINE B Is_First_Subtype                   (E Id);
1269 +   INLINE B Is_For_Access_Subtype              (E Id);
1270 +   INLINE B Is_Frozen                          (E Id);
1271 +   INLINE B Is_Generic_Instance                (E Id);
1272 +   INLINE B Is_Hidden                          (E Id);
1273 +   INLINE B Is_Hidden_Open_Scope               (E Id);
1274 +   INLINE B Is_Immediately_Visible             (E Id);
1275 +   INLINE B Is_Imported                        (E Id);
1276 +   INLINE B Is_Inlined                         (E Id);
1277 +   INLINE B Is_Instantiated                    (E Id);
1278 +   INLINE B Is_Internal                        (E Id);
1279 +   INLINE B Is_Interrupt_Handler               (E Id);
1280 +   INLINE B Is_Intrinsic_Subprogram            (E Id);
1281 +   INLINE B Is_Itype                           (E Id);
1282 +   INLINE B Is_Known_Non_Null                  (E Id);
1283 +   INLINE B Is_Known_Valid                     (E Id);
1284 +   INLINE B Is_Limited_Composite               (E Id);
1285 +   INLINE B Is_Machine_Code_Subprogram         (E Id);
1286 +   INLINE B Is_Non_Static_Subtype              (E Id);
1287 +   INLINE B Is_Null_Init_Proc                  (E Id);
1288 +   INLINE B Is_Optional_Parameter              (E Id);
1289 +   INLINE B Is_Package_Body_Entity             (E Id);
1290 +   INLINE B Is_Packed                          (E Id);
1291 +   INLINE B Is_Packed_Array_Type               (E Id);
1292 +   INLINE B Is_Potentially_Use_Visible         (E Id);
1293 +   INLINE B Is_Preelaborated                   (E Id);
1294 +   INLINE B Is_Private_Composite               (E Id);
1295 +   INLINE B Is_Private_Descendant              (E Id);
1296 +   INLINE B Is_Psected                         (E Id);
1297 +   INLINE B Is_Public                          (E Id);
1298 +   INLINE B Is_Pure                            (E Id);
1299 +   INLINE B Is_Remote_Call_Interface           (E Id);
1300 +   INLINE B Is_Remote_Types                    (E Id);
1301 +   INLINE B Is_Renaming_Of_Object              (E Id);
1302 +   INLINE B Is_Shared_Passive                  (E Id);
1303 +   INLINE B Is_Statically_Allocated            (E Id);
1304 +   INLINE B Is_Tag                             (E Id);
1305 +   INLINE B Is_Tagged_Type                     (E Id);
1306 +   INLINE B Is_Thread_Body                     (E Id);
1307 +   INLINE B Is_True_Constant                   (E Id);
1308 +   INLINE B Is_Unchecked_Union                 (E Id);
1309 +   INLINE B Is_Unsigned_Type                   (E Id);
1310 +   INLINE B Is_VMS_Exception                   (E Id);
1311 +   INLINE B Is_Valued_Procedure                (E Id);
1312 +   INLINE B Is_Visible_Child_Unit              (E Id);
1313 +
1314 +   #define Is_Volatile einfo__is_volatile
1315 +   B Is_Volatile                        (E Id);
1316 +
1317 +   #define Is_Wrapper_Package einfo__is_wrapper_package
1318 +   B Is_Wrapper_Package                 (E Id);
1319 +
1320 +   INLINE B Kill_Elaboration_Checks            (E Id);
1321 +   INLINE B Kill_Range_Checks                  (E Id);
1322 +   INLINE B Kill_Tag_Checks                    (E Id);
1323 +   INLINE E Last_Entity                        (E Id);
1324 +   INLINE L Limited_Views                      (E Id);
1325 +   INLINE E Lit_Indexes                        (E Id);
1326 +   INLINE E Lit_Strings                        (E Id);
1327 +   INLINE B Machine_Radix_10                   (E Id);
1328 +   INLINE E Master_Id                          (E Id);
1329 +   INLINE B Materialize_Entity                 (E Id);
1330 +   INLINE M Mechanism                          (E Id);
1331 +   INLINE U Modulus                            (E Id);
1332 +   INLINE B Needs_Debug_Info                   (E Id);
1333 +   INLINE B Needs_No_Actuals                   (E Id);
1334 +   INLINE B Never_Set_In_Source                (E Id);
1335 +   INLINE E Next_Inlined_Subprogram            (E Id);
1336 +   INLINE B No_Pool_Assigned                   (E Id);
1337 +   INLINE B No_Return                          (E Id);
1338 +   INLINE B Non_Binary_Modulus                 (E Id);
1339 +   INLINE E Non_Limited_View                   (E Id);
1340 +   INLINE B Nonzero_Is_True                    (E Id);
1341 +   INLINE U Normalized_First_Bit               (E Id);
1342 +   INLINE U Normalized_Position                (E Id);
1343 +   INLINE U Normalized_Position_Max            (E Id);
1344 +   INLINE E Object_Ref                         (E Id);
1345 +   INLINE E Original_Array_Type                (E Id);
1346 +   INLINE E Original_Record_Component          (E Id);
1347 +   INLINE E Packed_Array_Type                  (E Id);
1348 +   INLINE E Parent_Subtype                     (E Id);
1349 +   INLINE L Primitive_Operations               (E Id);
1350 +   INLINE E Prival                             (E Id);
1351 +   INLINE L Privals_Chain                      (E Id);
1352 +   INLINE L Private_Dependents                 (E Id);
1353 +   INLINE N Private_View                       (E Id);
1354 +   INLINE E Protected_Body_Subprogram          (E Id);
1355 +   INLINE E Protected_Formal                   (E Id);
1356 +   INLINE E Protected_Operation                (E Id);
1357 +   INLINE U RM_Size                            (E Id);
1358 +   INLINE B Reachable                          (E Id);
1359 +   INLINE B Referenced                         (E Id);
1360 +   INLINE B Referenced_As_LHS                  (E Id);
1361 +   INLINE N Referenced_Object                  (E Id);
1362 +   INLINE N Register_Exception_Call            (E Id);
1363 +   INLINE E Related_Array_Object               (E Id);
1364 +   INLINE E Related_Instance                   (E Id);
1365 +   INLINE N Renamed_Entity                     (E Id);
1366 +   INLINE N Renamed_Object                     (E Id);
1367 +   INLINE U Renaming_Map                       (E Id);
1368 +   INLINE B Return_Present                     (E Id);
1369 +   INLINE B Returns_By_Ref                     (E Id);
1370 +   INLINE B Reverse_Bit_Order                  (E Id);
1371 +   INLINE N Scalar_Range                       (E Id);
1372 +   INLINE U Scale_Value                        (E Id);
1373 +   INLINE U Scope_Depth_Value                  (E Id);
1374 +   INLINE B Sec_Stack_Needed_For_Return        (E Id);
1375 +   INLINE S Shadow_Entities                    (E Id);
1376 +   INLINE E Shared_Var_Assign_Proc             (E Id);
1377 +   INLINE E Shared_Var_Read_Proc               (E Id);
1378 +   INLINE N Size_Check_Code                    (E Id);
1379 +   INLINE B Size_Known_At_Compile_Time         (E Id);
1380 +   INLINE B Size_Depends_On_Discriminant       (E Id);
1381 +   INLINE R Small_Value                        (E Id);
1382 +   INLINE E Spec_Entity                        (E Id);
1383 +   INLINE E Storage_Size_Variable              (E Id);
1384 +   INLINE L Stored_Constraint                  (E Id);
1385 +   INLINE B Strict_Alignment                   (E Id);
1386 +   INLINE U String_Literal_Length              (E Id);
1387 +   INLINE N String_Literal_Low_Bound           (E Id);
1388 +   INLINE B Suppress_Elaboration_Warnings      (E Id);
1389 +   INLINE B Suppress_Init_Proc                 (E Id);
1390 +   INLINE B Suppress_Style_Checks              (E Id);
1391 +   INLINE B Treat_As_Volatile                  (E Id);
1392 +   INLINE E Underlying_Full_View               (E Id);
1393 +   INLINE N Unset_Reference                    (E Id);
1394 +   INLINE B Uses_Sec_Stack                     (E Id);
1395 +   INLINE B Vax_Float                          (E Id);
1396 +   INLINE B Warnings_Off                       (E Id);
1397 +   INLINE B Is_Access_Type                     (E Id);
1398 +   INLINE B Is_Array_Type                      (E Id);
1399 +   INLINE B Is_Class_Wide_Type                 (E Id);
1400 +   INLINE B Is_Composite_Type                  (E Id);
1401 +   INLINE B Is_Concurrent_Body                 (E Id);
1402 +   INLINE B Is_Concurrent_Record_Type          (E Id);
1403 +   INLINE B Is_Concurrent_Type                 (E Id);
1404 +   INLINE B Is_Decimal_Fixed_Point_Type        (E Id);
1405 +   INLINE B Is_Digits_Type                     (E Id);
1406 +   INLINE B Is_Discrete_Or_Fixed_Point_Type    (E Id);
1407 +   INLINE B Is_Discrete_Type                   (E Id);
1408 +   INLINE B Is_Elementary_Type                 (E Id);
1409 +   INLINE B Is_Entry                           (E Id);
1410 +   INLINE B Is_Enumeration_Type                (E Id);
1411 +   INLINE B Is_Fixed_Point_Type                (E Id);
1412 +   INLINE B Is_Floating_Point_Type             (E Id);
1413 +   INLINE B Is_Formal                          (E Id);
1414 +   INLINE B Is_Formal_Subprogram               (E Id);
1415 +   INLINE B Is_Generic_Actual_Type             (E Id);
1416 +   INLINE B Is_Generic_Unit                    (E Id);
1417 +   INLINE B Is_Generic_Type                    (E Id);
1418 +   INLINE B Is_Generic_Subprogram              (E Id);
1419 +   INLINE B Is_Incomplete_Or_Private_Type      (E Id);
1420 +   INLINE B Is_Integer_Type                    (E Id);
1421 +   INLINE B Is_Limited_Record                  (E Id);
1422 +   INLINE B Is_Modular_Integer_Type            (E Id);
1423 +   INLINE B Is_Named_Number                    (E Id);
1424 +   INLINE B Is_Numeric_Type                    (E Id);
1425 +   INLINE B Is_Object                          (E Id);
1426 +   INLINE B Is_Ordinary_Fixed_Point_Type       (E Id);
1427 +   INLINE B Is_Overloadable                    (E Id);
1428 +   INLINE B Is_Overriding_Operation            (E Id);
1429 +   INLINE B Is_Private_Type                    (E Id);
1430 +   INLINE B Is_Protected_Type                  (E Id);
1431 +   INLINE B Is_Real_Type                       (E Id);
1432 +   INLINE B Is_Record_Type                     (E Id);
1433 +   INLINE B Is_Scalar_Type                     (E Id);
1434 +   INLINE B Is_Signed_Integer_Type             (E Id);
1435 +   INLINE B Is_Subprogram                      (E Id);
1436 +   INLINE B Is_Task_Type                       (E Id);
1437 +   INLINE B Is_Type                            (E Id);
1438 +
1439 +   #define Address_Clause einfo__address_clause
1440 +   N Address_Clause                     (E Id);
1441 +
1442 +   #define Alignment_Clause einfo__alignment_clause
1443 +   N Alignment_Clause                   (E Id);
1444 +
1445 +   #define Ancestor_Subtype einfo__ancestor_subtype
1446 +   E Ancestor_Subtype                   (E Id);
1447 +
1448 +   #define Base_Type einfo__base_type
1449 +   E Base_Type                          (E Id);
1450 +
1451 +   #define Constant_Value einfo__constant_value
1452 +   N Constant_Value                     (E Id);
1453 +
1454 +   #define Declaration_Node einfo__declaration_node
1455 +   N Declaration_Node                   (E Id);
1456 +
1457 +   #define Designated_Type einfo__designated_type
1458 +   E Designated_Type                    (E Id);
1459 +
1460 +   #define Enclosing_Dynamic_Scope einfo__enclosing_dynamic_scope
1461 +   E Enclosing_Dynamic_Scope            (E Id);
1462 +
1463 +   #define First_Component einfo__first_component
1464 +   E First_Component                    (E Id);
1465 +
1466 +   #define First_Discriminant einfo__first_discriminant
1467 +   E First_Discriminant                 (E Id);
1468 +
1469 +   #define First_Formal einfo__first_formal
1470 +   E First_Formal                       (E Id);
1471 +
1472 +   #define First_Stored_Discriminant einfo__first_stored_discriminant
1473 +   E First_Stored_Discriminant          (E Id);
1474 +
1475 +   #define First_Subtype einfo__first_subtype
1476 +   E First_Subtype                      (E Id);
1477 +
1478 +   #define Has_Attach_Handler einfo__has_attach_handler
1479 +   B Has_Attach_Handler                 (E Id);
1480 +
1481 +   #define Has_Entries einfo__has_entries
1482 +   B Has_Entries                        (E Id);
1483 +
1484 +   #define Has_Foreign_Convention einfo__has_foreign_convention
1485 +   B Has_Foreign_Convention             (E Id);
1486 +
1487 +   #define Has_Private_Ancestor einfo__has_private_ancestor
1488 +   B Has_Private_Ancestor               (E Id);
1489 +
1490 +   INLINE B Has_Private_Declaration            (E Id);
1491 +
1492 +   #define Implementation_Base_Type einfo__implementation_base_type
1493 +   E Implementation_Base_Type           (E Id);
1494 +
1495 +   #define Is_Always_Inlined einfo__is_always_inlined
1496 +   B Is_Always_Inlined                  (E Id);
1497 +
1498 +   #define Is_Boolean_Type einfo__is_boolean_type
1499 +   B Is_Boolean_Type                    (E Id);
1500 +
1501 +   #define Is_By_Copy_Type einfo__is_by_copy_type
1502 +   B Is_By_Copy_Type                    (E Id);
1503 +
1504 +   #define Is_By_Reference_Type einfo__is_by_reference_type
1505 +   B Is_By_Reference_Type               (E Id);
1506 +
1507 +   #define Is_Derived_Type einfo__is_derived_type
1508 +   B Is_Derived_Type                    (E Id);
1509 +
1510 +   #define Is_Dynamic_Scope einfo__is_dynamic_scope
1511 +   B Is_Dynamic_Scope                   (E Id);
1512 +
1513 +   #define Is_Indefinite_Subtype einfo__is_indefinite_subtype
1514 +   B Is_Indefinite_Subtype              (E Id);
1515 +
1516 +   #define Is_Limited_Type einfo__is_limited_type
1517 +   B Is_Limited_Type                    (E Id);
1518 +
1519 +   #define Is_Package einfo__is_package
1520 +   B Is_Package                         (E Id);
1521 +
1522 +   #define Is_Protected_Private einfo__is_protected_private
1523 +   B Is_Protected_Private               (E Id);
1524 +
1525 +   #define Is_Protected_Record_Type einfo__is_protected_record_type
1526 +   B Is_Protected_Record_Type           (E Id);
1527 +
1528 +   #define Is_Return_By_Reference_Type einfo__is_return_by_reference_type
1529 +   B Is_Return_By_Reference_Type        (E Id);
1530 +
1531 +   #define Is_String_Type einfo__is_string_type
1532 +   B Is_String_Type                     (E Id);
1533 +
1534 +   #define Is_Task_Record_Type einfo__is_task_record_type
1535 +   B Is_Task_Record_Type                (E Id);
1536 +
1537 +   #define Next_Component einfo__next_component
1538 +   E Next_Component                     (E Id);
1539 +
1540 +   #define Next_Discriminant einfo__next_discriminant
1541 +   E Next_Discriminant                  (E Id);
1542 +
1543 +   #define Next_Formal einfo__next_formal
1544 +   E Next_Formal                        (E Id);
1545 +
1546 +   #define Next_Formal_With_Extras einfo__next_formal_with_extras
1547 +   E Next_Formal_With_Extras            (E Id);
1548 +
1549 +   INLINE E Next_Literal                       (E Id);
1550 +
1551 +   #define Next_Stored_Discriminant einfo__next_stored_discriminant
1552 +   E Next_Stored_Discriminant           (E Id);
1553 +
1554 +   #define Number_Dimensions einfo__number_dimensions
1555 +   Pos Number_Dimensions                  (E Id);
1556 +
1557 +   #define Number_Discriminants einfo__number_discriminants
1558 +   Pos Number_Discriminants               (E Id);
1559 +
1560 +   #define Number_Entries einfo__number_entries
1561 +   Nat Number_Entries                     (E Id);
1562 +
1563 +   #define Number_Formals einfo__number_formals
1564 +   Pos Number_Formals                     (E Id);
1565 +
1566 +   INLINE Formal_Kind Parameter_Mode                     (E Id);
1567 +
1568 +   #define Root_Type einfo__root_type
1569 +   E Root_Type                          (E Id);
1570 +
1571 +   #define Scope_Depth_Set einfo__scope_depth_set
1572 +   B Scope_Depth_Set                    (E Id);
1573 +
1574 +   #define Size_Clause einfo__size_clause
1575 +   N Size_Clause                        (E Id);
1576 +
1577 +   #define Tag_Component einfo__tag_component
1578 +   E Tag_Component                      (E Id);
1579 +
1580 +   #define Type_High_Bound einfo__type_high_bound
1581 +   N Type_High_Bound                    (E Id);
1582 +
1583 +   #define Type_Low_Bound einfo__type_low_bound
1584 +   N Type_Low_Bound                     (E Id);
1585 +
1586 +   #define Underlying_Type einfo__underlying_type
1587 +   E Underlying_Type                    (E Id);
1588 +
1589 +   #define Known_Alignment einfo__known_alignment
1590 +   B Known_Alignment                       (Entity_Id E);
1591 +
1592 +   #define Known_Component_Bit_Offset einfo__known_component_bit_offset
1593 +   B Known_Component_Bit_Offset            (Entity_Id E);
1594 +
1595 +   #define Known_Component_Size einfo__known_component_size
1596 +   B Known_Component_Size                  (Entity_Id E);
1597 +
1598 +   #define Known_Esize einfo__known_esize
1599 +   B Known_Esize                           (Entity_Id E);
1600 +
1601 +   #define Known_Normalized_First_Bit einfo__known_normalized_first_bit
1602 +   B Known_Normalized_First_Bit            (Entity_Id E);
1603 +
1604 +   #define Known_Normalized_Position einfo__known_normalized_position
1605 +   B Known_Normalized_Position             (Entity_Id E);
1606 +
1607 +   #define Known_Normalized_Position_Max einfo__known_normalized_position_max
1608 +   B Known_Normalized_Position_Max         (Entity_Id E);
1609 +
1610 +   #define Known_RM_Size einfo__known_rm_size
1611 +   B Known_RM_Size                         (Entity_Id E);
1612 +
1613 +   #define Known_Static_Component_Bit_Offset einfo__known_static_component_bit_offset
1614 +   B Known_Static_Component_Bit_Offset     (Entity_Id E);
1615 +
1616 +   #define Known_Static_Component_Size einfo__known_static_component_size
1617 +   B Known_Static_Component_Size           (Entity_Id E);
1618 +
1619 +   #define Known_Static_Esize einfo__known_static_esize
1620 +   B Known_Static_Esize                    (Entity_Id E);
1621 +
1622 +   #define Known_Static_Normalized_First_Bit einfo__known_static_normalized_first_bit
1623 +   B Known_Static_Normalized_First_Bit     (Entity_Id E);
1624 +
1625 +   #define Known_Static_Normalized_Position einfo__known_static_normalized_position
1626 +   B Known_Static_Normalized_Position      (Entity_Id E);
1627 +
1628 +   #define Known_Static_Normalized_Position_Max einfo__known_static_normalized_position_max
1629 +   B Known_Static_Normalized_Position_Max  (Entity_Id E);
1630 +
1631 +   #define Known_Static_RM_Size einfo__known_static_rm_size
1632 +   B Known_Static_RM_Size                  (Entity_Id E);
1633 +
1634 +   #define Unknown_Alignment einfo__unknown_alignment
1635 +   B Unknown_Alignment                     (Entity_Id E);
1636 +
1637 +   #define Unknown_Component_Bit_Offset einfo__unknown_component_bit_offset
1638 +   B Unknown_Component_Bit_Offset          (Entity_Id E);
1639 +
1640 +   #define Unknown_Component_Size einfo__unknown_component_size
1641 +   B Unknown_Component_Size                (Entity_Id E);
1642 +
1643 +   #define Unknown_Esize einfo__unknown_esize
1644 +   B Unknown_Esize                         (Entity_Id E);
1645 +
1646 +   #define Unknown_Normalized_First_Bit einfo__unknown_normalized_first_bit
1647 +   B Unknown_Normalized_First_Bit          (Entity_Id E);
1648 +
1649 +   #define Unknown_Normalized_Position einfo__unknown_normalized_position
1650 +   B Unknown_Normalized_Position           (Entity_Id E);
1651 +
1652 +   #define Unknown_Normalized_Position_Max einfo__unknown_normalized_position_max
1653 +   B Unknown_Normalized_Position_Max       (Entity_Id E);
1654 +
1655 +   #define Unknown_RM_Size einfo__unknown_rm_size
1656 +   B Unknown_RM_Size                       (Entity_Id E);
1657 +
1658 +
1659 +   INLINE L Accept_Address (E Id)
1660 +      { return Elist21 (Id); }
1661 +
1662 +   INLINE E Access_Disp_Table (E Id)
1663 +      { return Node16 (Implementation_Base_Type (Id)); }
1664 +
1665 +   INLINE E Actual_Subtype (E Id)
1666 +      { return Node17 (Id); }
1667 +
1668 +   INLINE B Address_Taken (E Id)
1669 +      { return Flag104 (Id); }
1670 +
1671 +   INLINE E Alias (E Id)
1672 +      { return Node18 (Id); }
1673 +
1674 +   INLINE U Alignment (E Id)
1675 +      { return Uint14 (Id); }
1676 +
1677 +   INLINE E Associated_Final_Chain (E Id)
1678 +      { return Node23 (Id); }
1679 +
1680 +   INLINE E Associated_Formal_Package (E Id)
1681 +      { return Node12 (Id); }
1682 +
1683 +   INLINE N Associated_Node_For_Itype (E Id)
1684 +      { return Node8 (Id); }
1685 +
1686 +   INLINE E Associated_Storage_Pool (E Id)
1687 +      { return Node22 (Root_Type (Id)); }
1688 +
1689 +   INLINE N Barrier_Function (E Id)
1690 +      { return Node12 (Id); }
1691 +
1692 +   INLINE N Block_Node (E Id)
1693 +      { return Node11 (Id); }
1694 +
1695 +   INLINE E Body_Entity (E Id)
1696 +      { return Node19 (Id); }
1697 +
1698 +   INLINE B Body_Needed_For_SAL (E Id)
1699 +      { return Flag40 (Id); }
1700 +
1701 +   INLINE B C_Pass_By_Copy (E Id)
1702 +      { return Flag125 (Implementation_Base_Type (Id)); }
1703 +
1704 +   INLINE B Can_Never_Be_Null (E Id)
1705 +      { return Flag38 (Id); }
1706 +
1707 +   INLINE B Checks_May_Be_Suppressed (E Id)
1708 +      { return Flag31 (Id); }
1709 +
1710 +   INLINE E Class_Wide_Type (E Id)
1711 +      { return Node9 (Id); }
1712 +
1713 +   INLINE E Cloned_Subtype (E Id)
1714 +      { return Node16 (Id); }
1715 +
1716 +   INLINE U Component_Bit_Offset (E Id)
1717 +      { return Uint11 (Id); }
1718 +
1719 +   INLINE N Component_Clause (E Id)
1720 +      { return Node13 (Id); }
1721 +
1722 +   INLINE U Component_Size (E Id)
1723 +      { return Uint22 (Implementation_Base_Type (Id)); }
1724 +
1725 +   INLINE E Component_Type (E Id)
1726 +      { return Node20 (Implementation_Base_Type (Id)); }
1727 +
1728 +   INLINE E Corresponding_Concurrent_Type (E Id)
1729 +      { return Node18 (Id); }
1730 +
1731 +   INLINE E Corresponding_Discriminant (E Id)
1732 +      { return Node19 (Id); }
1733 +
1734 +   INLINE E Corresponding_Equality (E Id)
1735 +      { return Node13 (Id); }
1736 +
1737 +   INLINE E Corresponding_Record_Type (E Id)
1738 +      { return Node18 (Id); }
1739 +
1740 +   INLINE E Corresponding_Remote_Type (E Id)
1741 +      { return Node22 (Id); }
1742 +
1743 +   INLINE N Current_Value (E Id)
1744 +      { return Node9 (Id); }
1745 +
1746 +   INLINE E CR_Discriminant (E Id)
1747 +      { return Node23 (Id); }
1748 +
1749 +   INLINE B Debug_Info_Off (E Id)
1750 +      { return Flag166 (Id); }
1751 +
1752 +   INLINE E Debug_Renaming_Link (E Id)
1753 +      { return Node13 (Id); }
1754 +
1755 +   INLINE E Default_Expr_Function (E Id)
1756 +      { return Node21 (Id); }
1757 +
1758 +   INLINE B Default_Expressions_Processed (E Id)
1759 +      { return Flag108 (Id); }
1760 +
1761 +   INLINE N Default_Value (E Id)
1762 +      { return Node20 (Id); }
1763 +
1764 +   INLINE B Delay_Cleanups (E Id)
1765 +      { return Flag114 (Id); }
1766 +
1767 +   INLINE B Delay_Subprogram_Descriptors (E Id)
1768 +      { return Flag50 (Id); }
1769 +
1770 +   INLINE R Delta_Value (E Id)
1771 +      { return Ureal18 (Id); }
1772 +
1773 +   INLINE L Dependent_Instances (E Id)
1774 +      { return Elist8 (Id); }
1775 +
1776 +   INLINE B Depends_On_Private (E Id)
1777 +      { return Flag14 (Id); }
1778 +
1779 +   INLINE U Digits_Value (E Id)
1780 +      { return Uint17 (Id); }
1781 +
1782 +   INLINE E Directly_Designated_Type (E Id)
1783 +      { return Node20 (Id); }
1784 +
1785 +   INLINE B Discard_Names (E Id)
1786 +      { return Flag88 (Id); }
1787 +
1788 +   INLINE E Discriminal (E Id)
1789 +      { return Node17 (Id); }
1790 +
1791 +   INLINE N Discriminal_Link (E Id)
1792 +      { return Node10 (Id); }
1793 +
1794 +   INLINE E Discriminant_Checking_Func (E Id)
1795 +      { return Node20 (Id); }
1796 +
1797 +   INLINE L Discriminant_Constraint (E Id)
1798 +      { return Elist21 (Id); }
1799 +
1800 +   INLINE N Discriminant_Default_Value (E Id)
1801 +      { return Node20 (Id); }
1802 +
1803 +   INLINE U Discriminant_Number (E Id)
1804 +      { return Uint15 (Id); }
1805 +
1806 +   INLINE U DT_Entry_Count (E Id)
1807 +      { return Uint15 (Id); }
1808 +
1809 +   INLINE U DT_Position (E Id)
1810 +      { return Uint15 (Id); }
1811 +
1812 +   INLINE E DTC_Entity (E Id)
1813 +      { return Node16 (Id); }
1814 +
1815 +   INLINE B Elaborate_All_Desirable (E Id)
1816 +      { return Flag146 (Id); }
1817 +
1818 +   INLINE E Elaboration_Entity (E Id)
1819 +      { return Node13 (Id); }
1820 +
1821 +   INLINE B Elaboration_Entity_Required (E Id)
1822 +      { return Flag174 (Id); }
1823 +
1824 +   INLINE E Enclosing_Scope (E Id)
1825 +      { return Node18 (Id); }
1826 +
1827 +   INLINE B Entry_Accepted (E Id)
1828 +      { return Flag152 (Id); }
1829 +
1830 +   INLINE E Entry_Bodies_Array (E Id)
1831 +      { return Node15 (Id); }
1832 +
1833 +   INLINE E Entry_Cancel_Parameter (E Id)
1834 +      { return Node23 (Id); }
1835 +
1836 +   INLINE E Entry_Component (E Id)
1837 +      { return Node11 (Id); }
1838 +
1839 +   INLINE E Entry_Formal (E Id)
1840 +      { return Node16 (Id); }
1841 +
1842 +   INLINE N Entry_Index_Constant (E Id)
1843 +      { return Node18 (Id); }
1844 +
1845 +   INLINE E Entry_Parameters_Type (E Id)
1846 +      { return Node15 (Id); }
1847 +
1848 +   INLINE E Enum_Pos_To_Rep (E Id)
1849 +      { return Node23 (Id); }
1850 +
1851 +   INLINE Uint Enumeration_Pos (E Id)
1852 +      { return Uint11 (Id); }
1853 +
1854 +   INLINE U Enumeration_Rep (E Id)
1855 +      { return Uint12 (Id); }
1856 +
1857 +   INLINE N Enumeration_Rep_Expr (E Id)
1858 +      { return Node22 (Id); }
1859 +
1860 +   INLINE E Equivalent_Type (E Id)
1861 +      { return Node18 (Id); }
1862 +
1863 +   INLINE Uint Esize (E Id)
1864 +      { return Uint12 (Id); }
1865 +
1866 +   INLINE Uint Exception_Code (E Id)
1867 +      { return Uint22 (Id); }
1868 +
1869 +   INLINE E Extra_Accessibility (E Id)
1870 +      { return Node13 (Id); }
1871 +
1872 +   INLINE E Extra_Constrained (E Id)
1873 +      { return Node23 (Id); }
1874 +
1875 +   INLINE E Extra_Formal (E Id)
1876 +      { return Node15 (Id); }
1877 +
1878 +   INLINE E Finalization_Chain_Entity (E Id)
1879 +      { return Node19 (Id); }
1880 +
1881 +   INLINE E First_Entity (E Id)
1882 +      { return Node17 (Id); }
1883 +
1884 +   INLINE N First_Index (E Id)
1885 +      { return Node17 (Id); }
1886 +
1887 +   INLINE E First_Literal (E Id)
1888 +      { return Node17 (Id); }
1889 +
1890 +   INLINE E First_Optional_Parameter (E Id)
1891 +      { return Node14 (Id); }
1892 +
1893 +   INLINE E First_Private_Entity (E Id)
1894 +      { return Node16 (Id); }
1895 +
1896 +   INLINE E First_Rep_Item (E Id)
1897 +      { return Node6 (Id); }
1898 +
1899 +   INLINE N Freeze_Node (E Id)
1900 +      { return Node7 (Id); }
1901 +
1902 +   INLINE B From_With_Type (E Id)
1903 +      { return Flag159 (Id); }
1904 +
1905 +   INLINE E Full_View (E Id)
1906 +      { return Node11 (Id); }
1907 +
1908 +   INLINE B Function_Returns_With_DSP (E Id)
1909 +      { return Flag169 (Id); }
1910 +
1911 +   INLINE E Generic_Homonym (E Id)
1912 +      { return Node11 (Id); }
1913 +
1914 +   INLINE L Generic_Renamings (E Id)
1915 +      { return Elist23 (Id); }
1916 +
1917 +   INLINE S Handler_Records (E Id)
1918 +      { return List10 (Id); }
1919 +
1920 +   INLINE B Has_Aliased_Components (E Id)
1921 +      { return Flag135 (Implementation_Base_Type (Id)); }
1922 +
1923 +   INLINE B Has_Alignment_Clause (E Id)
1924 +      { return Flag46 (Id); }
1925 +
1926 +   INLINE B Has_All_Calls_Remote (E Id)
1927 +      { return Flag79 (Id); }
1928 +
1929 +   INLINE B Has_Atomic_Components (E Id)
1930 +      { return Flag86 (Implementation_Base_Type (Id)); }
1931 +
1932 +   INLINE B Has_Biased_Representation (E Id)
1933 +      { return Flag139 (Id); }
1934 +
1935 +   INLINE B Has_Completion (E Id)
1936 +      { return Flag26 (Id); }
1937 +
1938 +   INLINE B Has_Completion_In_Body (E Id)
1939 +      { return Flag71 (Id); }
1940 +
1941 +   INLINE B Has_Complex_Representation (E Id)
1942 +      { return Flag140 (Implementation_Base_Type (Id)); }
1943 +
1944 +   INLINE B Has_Component_Size_Clause (E Id)
1945 +      { return Flag68 (Implementation_Base_Type (Id)); }
1946 +
1947 +   INLINE B Has_Controlled_Component (E Id)
1948 +      { return Flag43 (Base_Type (Id)); }
1949 +
1950 +   INLINE B Has_Contiguous_Rep (E Id)
1951 +      { return Flag181 (Id); }
1952 +
1953 +   INLINE B Has_Controlling_Result (E Id)
1954 +      { return Flag98 (Id); }
1955 +
1956 +   INLINE B Has_Convention_Pragma (E Id)
1957 +      { return Flag119 (Id); }
1958 +
1959 +   INLINE B Has_Delayed_Freeze (E Id)
1960 +      { return Flag18 (Id); }
1961 +
1962 +   INLINE B Has_Discriminants (E Id)
1963 +      { return Flag5 (Id); }
1964 +
1965 +   INLINE B Has_Enumeration_Rep_Clause (E Id)
1966 +      { return Flag66 (Id); }
1967 +
1968 +   INLINE B Has_Exit (E Id)
1969 +      { return Flag47 (Id); }
1970 +
1971 +   INLINE B Has_External_Tag_Rep_Clause (E Id)
1972 +      { return Flag110 (Id); }
1973 +
1974 +   INLINE B Has_Forward_Instantiation (E Id)
1975 +      { return Flag175 (Id); }
1976 +
1977 +   INLINE B Has_Fully_Qualified_Name (E Id)
1978 +      { return Flag173 (Id); }
1979 +
1980 +   INLINE B Has_Gigi_Rep_Item (E Id)
1981 +      { return Flag82 (Id); }
1982 +
1983 +   INLINE B Has_Homonym (E Id)
1984 +      { return Flag56 (Id); }
1985 +
1986 +   INLINE B Has_Machine_Radix_Clause (E Id)
1987 +      { return Flag83 (Id); }
1988 +
1989 +   INLINE B Has_Master_Entity (E Id)
1990 +      { return Flag21 (Id); }
1991 +
1992 +   INLINE B Has_Missing_Return (E Id)
1993 +      { return Flag142 (Id); }
1994 +
1995 +   INLINE B Has_Nested_Block_With_Handler (E Id)
1996 +      { return Flag101 (Id); }
1997 +
1998 +   INLINE B Has_Non_Standard_Rep (E Id)
1999 +      { return Flag75 (Implementation_Base_Type (Id)); }
2000 +
2001 +   INLINE B Has_Object_Size_Clause (E Id)
2002 +      { return Flag172 (Id); }
2003 +
2004 +   INLINE B Has_Per_Object_Constraint (E Id)
2005 +      { return Flag154 (Id); }
2006 +
2007 +   INLINE B Has_Pragma_Controlled (E Id)
2008 +      { return Flag27 (Implementation_Base_Type (Id)); }
2009 +
2010 +   INLINE B Has_Pragma_Elaborate_Body (E Id)
2011 +      { return Flag150 (Id); }
2012 +
2013 +   INLINE B Has_Pragma_Inline (E Id)
2014 +      { return Flag157 (Id); }
2015 +
2016 +   INLINE B Has_Pragma_Pack (E Id)
2017 +      { return Flag121 (Implementation_Base_Type (Id)); }
2018 +
2019 +   INLINE B Has_Pragma_Pure_Function (E Id)
2020 +      { return Flag179 (Id); }
2021 +
2022 +   INLINE B Has_Pragma_Unreferenced (E Id)
2023 +      { return Flag180 (Id); }
2024 +
2025 +   INLINE B Has_Primitive_Operations (E Id)
2026 +      { return Flag120 (Base_Type (Id)); }
2027 +
2028 +   INLINE B Has_Private_Declaration (E Id)
2029 +      { return Flag155 (Id); }
2030 +
2031 +   INLINE B Has_Qualified_Name (E Id)
2032 +      { return Flag161 (Id); }
2033 +
2034 +   INLINE B Has_Record_Rep_Clause (E Id)
2035 +      { return Flag65 (Implementation_Base_Type (Id)); }
2036 +
2037 +   INLINE B Has_Recursive_Call (E Id)
2038 +      { return Flag143 (Id); }
2039 +
2040 +   INLINE B Has_Size_Clause (E Id)
2041 +      { return Flag29 (Id); }
2042 +
2043 +   INLINE B Has_Small_Clause (E Id)
2044 +      { return Flag67 (Id); }
2045 +
2046 +   INLINE B Has_Specified_Layout (E Id)
2047 +      { return Flag100 (Implementation_Base_Type (Id)); }
2048 +
2049 +   INLINE B Has_Storage_Size_Clause (E Id)
2050 +      { return Flag23 (Implementation_Base_Type (Id)); }
2051 +
2052 +   INLINE B Has_Subprogram_Descriptor (E Id)
2053 +      { return Flag93 (Id); }
2054 +
2055 +   INLINE B Has_Task (E Id)
2056 +      { return Flag30 (Base_Type (Id)); }
2057 +
2058 +   INLINE B Has_Unchecked_Union (E Id)
2059 +      { return Flag123 (Base_Type (Id)); }
2060 +
2061 +   INLINE B Has_Unknown_Discriminants (E Id)
2062 +      { return Flag72 (Id); }
2063 +
2064 +   INLINE B Has_Volatile_Components (E Id)
2065 +      { return Flag87 (Implementation_Base_Type (Id)); }
2066 +
2067 +   INLINE B Has_Xref_Entry (E Id)
2068 +      { return Flag182 (Implementation_Base_Type (Id)); }
2069 +
2070 +   INLINE E Hiding_Loop_Variable (E Id)
2071 +      { return Node8 (Id); }
2072 +
2073 +   INLINE E Homonym (E Id)
2074 +      { return Node4 (Id); }
2075 +
2076 +   INLINE B In_Package_Body (E Id)
2077 +      { return Flag48 (Id); }
2078 +
2079 +   INLINE B In_Private_Part (E Id)
2080 +      { return Flag45 (Id); }
2081 +
2082 +   INLINE B In_Use (E Id)
2083 +      { return Flag8 (Id); }
2084 +
2085 +   INLINE L Inner_Instances (E Id)
2086 +      { return Elist23 (Id); }
2087 +
2088 +   INLINE N Interface_Name (E Id)
2089 +      { return Node21 (Id); }
2090 +
2091 +   INLINE B Is_Abstract (E Id)
2092 +      { return Flag19 (Id); }
2093 +
2094 +   INLINE B Is_Access_Constant (E Id)
2095 +      { return Flag69 (Id); }
2096 +
2097 +   INLINE B Is_Aliased (E Id)
2098 +      { return Flag15 (Id); }
2099 +
2100 +   INLINE B Is_AST_Entry (E Id)
2101 +      { return Flag132 (Id); }
2102 +
2103 +   INLINE B Is_Asynchronous (E Id)
2104 +      { return Flag81 (Id); }
2105 +
2106 +   INLINE B Is_Atomic (E Id)
2107 +      { return Flag85 (Id); }
2108 +
2109 +   INLINE B Is_Bit_Packed_Array (E Id)
2110 +      { return Flag122 (Implementation_Base_Type (Id)); }
2111 +
2112 +   INLINE B Is_Called (E Id)
2113 +      { return Flag102 (Id); }
2114 +
2115 +   INLINE B Is_Character_Type (E Id)
2116 +      { return Flag63 (Id); }
2117 +
2118 +   INLINE B Is_Child_Unit (E Id)
2119 +      { return Flag73 (Id); }
2120 +
2121 +   INLINE B Is_Class_Wide_Equivalent_Type (E Id)
2122 +      { return Flag35 (Id); }
2123 +
2124 +   INLINE B Is_Compilation_Unit (E Id)
2125 +      { return Flag149 (Id); }
2126 +
2127 +   INLINE B Is_Completely_Hidden (E Id)
2128 +      { return Flag103 (Id); }
2129 +
2130 +   INLINE B Is_Constr_Subt_For_U_Nominal (E Id)
2131 +      { return Flag80 (Id); }
2132 +
2133 +   INLINE B Is_Constr_Subt_For_UN_Aliased (E Id)
2134 +      { return Flag141 (Id); }
2135 +
2136 +   INLINE B Is_Constrained (E Id)
2137 +      { return Flag12 (Id); }
2138 +
2139 +   INLINE B Is_Constructor (E Id)
2140 +      { return Flag76 (Id); }
2141 +
2142 +   INLINE B Is_Controlled (E Id)
2143 +      { return Flag42 (Base_Type (Id)); }
2144 +
2145 +   INLINE B Is_Controlling_Formal (E Id)
2146 +      { return Flag97 (Id); }
2147 +
2148 +   INLINE B Is_CPP_Class (E Id)
2149 +      { return Flag74 (Id); }
2150 +
2151 +   INLINE B Is_Discrim_SO_Function (E Id)
2152 +      { return Flag176 (Id); }
2153 +
2154 +   INLINE B Is_Dispatching_Operation (E Id)
2155 +      { return Flag6 (Id); }
2156 +
2157 +   INLINE B Is_Eliminated (E Id)
2158 +      { return Flag124 (Id); }
2159 +
2160 +   INLINE B Is_Entry_Formal (E Id)
2161 +      { return Flag52 (Id); }
2162 +
2163 +   INLINE B Is_Exported (E Id)
2164 +      { return Flag99 (Id); }
2165 +
2166 +   INLINE B Is_First_Subtype (E Id)
2167 +      { return Flag70 (Id); }
2168 +
2169 +   INLINE B Is_For_Access_Subtype (E Id)
2170 +      { return Flag118 (Id); }
2171 +
2172 +   INLINE B Is_Formal_Subprogram (E Id)
2173 +      { return Flag111 (Id); }
2174 +
2175 +   INLINE B Is_Frozen (E Id)
2176 +      { return Flag4 (Id); }
2177 +
2178 +   INLINE B Is_Generic_Actual_Type (E Id)
2179 +      { return Flag94 (Id); }
2180 +
2181 +   INLINE B Is_Generic_Instance (E Id)
2182 +      { return Flag130 (Id); }
2183 +
2184 +   INLINE B Is_Generic_Type (E Id)
2185 +      { return Flag13 (Id); }
2186 +
2187 +   INLINE B Is_Hidden (E Id)
2188 +      { return Flag57 (Id); }
2189 +
2190 +   INLINE B Is_Hidden_Open_Scope (E Id)
2191 +      { return Flag171 (Id); }
2192 +
2193 +   INLINE B Is_Immediately_Visible (E Id)
2194 +      { return Flag7 (Id); }
2195 +
2196 +   INLINE B Is_Imported (E Id)
2197 +      { return Flag24 (Id); }
2198 +
2199 +   INLINE B Is_Inlined (E Id)
2200 +      { return Flag11 (Id); }
2201 +
2202 +   INLINE B Is_Instantiated (E Id)
2203 +      { return Flag126 (Id); }
2204 +
2205 +   INLINE B Is_Internal (E Id)
2206 +      { return Flag17 (Id); }
2207 +
2208 +   INLINE B Is_Interrupt_Handler (E Id)
2209 +      { return Flag89 (Id); }
2210 +
2211 +   INLINE B Is_Intrinsic_Subprogram (E Id)
2212 +      { return Flag64 (Id); }
2213 +
2214 +   INLINE B Is_Itype (E Id)
2215 +      { return Flag91 (Id); }
2216 +
2217 +   INLINE B Is_Known_Non_Null (E Id)
2218 +      { return Flag37 (Id); }
2219 +
2220 +   INLINE B Is_Known_Valid (E Id)
2221 +      { return Flag170 (Id); }
2222 +
2223 +   INLINE B Is_Limited_Composite (E Id)
2224 +      { return Flag106 (Id); }
2225 +
2226 +   INLINE B Is_Limited_Record (E Id)
2227 +      { return Flag25 (Id); }
2228 +
2229 +   INLINE B Is_Machine_Code_Subprogram (E Id)
2230 +      { return Flag137 (Id); }
2231 +
2232 +   INLINE B Is_Non_Static_Subtype (E Id)
2233 +      { return Flag109 (Id); }
2234 +
2235 +   INLINE B Is_Null_Init_Proc (E Id)
2236 +      { return Flag178 (Id); }
2237 +
2238 +   INLINE B Is_Optional_Parameter (E Id)
2239 +      { return Flag134 (Id); }
2240 +
2241 +   INLINE B Is_Overriding_Operation (E Id)
2242 +      { return Flag39 (Id); }
2243 +
2244 +   INLINE B Is_Package_Body_Entity (E Id)
2245 +      { return Flag160 (Id); }
2246 +
2247 +   INLINE B Is_Packed (E Id)
2248 +      { return Flag51 (Implementation_Base_Type (Id)); }
2249 +
2250 +   INLINE B Is_Packed_Array_Type (E Id)
2251 +      { return Flag138 (Id); }
2252 +
2253 +   INLINE B Is_Potentially_Use_Visible (E Id)
2254 +      { return Flag9 (Id); }
2255 +
2256 +   INLINE B Is_Preelaborated (E Id)
2257 +      { return Flag59 (Id); }
2258 +
2259 +   INLINE B Is_Private_Composite (E Id)
2260 +      { return Flag107 (Id); }
2261 +
2262 +   INLINE B Is_Private_Descendant (E Id)
2263 +      { return Flag53 (Id); }
2264 +
2265 +   INLINE B Is_Psected (E Id)
2266 +      { return Flag153 (Id); }
2267 +
2268 +   INLINE B Is_Public (E Id)
2269 +      { return Flag10 (Id); }
2270 +
2271 +   INLINE B Is_Pure (E Id)
2272 +      { return Flag44 (Id); }
2273 +
2274 +   INLINE B Is_Remote_Call_Interface (E Id)
2275 +      { return Flag62 (Id); }
2276 +
2277 +   INLINE B Is_Remote_Types (E Id)
2278 +      { return Flag61 (Id); }
2279 +
2280 +   INLINE B Is_Renaming_Of_Object (E Id)
2281 +      { return Flag112 (Id); }
2282 +
2283 +   INLINE B Is_Shared_Passive (E Id)
2284 +      { return Flag60 (Id); }
2285 +
2286 +   INLINE B Is_Statically_Allocated (E Id)
2287 +      { return Flag28 (Id); }
2288 +
2289 +   INLINE B Is_Tag (E Id)
2290 +      { return Flag78 (Id); }
2291 +
2292 +   INLINE B Is_Tagged_Type (E Id)
2293 +      { return Flag55 (Id); }
2294 +
2295 +   INLINE B Is_Thread_Body (E Id)
2296 +      { return Flag77 (Id); }
2297 +
2298 +   INLINE B Is_True_Constant (E Id)
2299 +      { return Flag163 (Id); }
2300 +
2301 +   INLINE B Is_Unchecked_Union (E Id)
2302 +      { return Flag117 (Id); }
2303 +
2304 +   INLINE B Is_Unsigned_Type (E Id)
2305 +      { return Flag144 (Id); }
2306 +
2307 +   INLINE B Is_Valued_Procedure (E Id)
2308 +      { return Flag127 (Id); }
2309 +
2310 +   INLINE B Is_Visible_Child_Unit (E Id)
2311 +      { return Flag116 (Id); }
2312 +
2313 +   INLINE B Is_VMS_Exception (E Id)
2314 +      { return Flag133 (Id); }
2315 +
2316 +   INLINE B Kill_Elaboration_Checks (E Id)
2317 +      { return Flag32 (Id); }
2318 +
2319 +   INLINE B Kill_Range_Checks (E Id)
2320 +      { return Flag33 (Id); }
2321 +
2322 +   INLINE B Kill_Tag_Checks (E Id)
2323 +      { return Flag34 (Id); }
2324 +
2325 +   INLINE E Last_Entity (E Id)
2326 +      { return Node20 (Id); }
2327 +
2328 +   INLINE L Limited_Views (E Id)
2329 +      { return Elist23 (Id); }
2330 +
2331 +   INLINE E Lit_Indexes (E Id)
2332 +      { return Node15 (Id); }
2333 +
2334 +   INLINE E Lit_Strings (E Id)
2335 +      { return Node16 (Id); }
2336 +
2337 +   INLINE B Machine_Radix_10 (E Id)
2338 +      { return Flag84 (Id); }
2339 +
2340 +   INLINE E Master_Id (E Id)
2341 +      { return Node17 (Id); }
2342 +
2343 +   INLINE B Materialize_Entity (E Id)
2344 +      { return Flag168 (Id); }
2345 +
2346 +   INLINE M Mechanism (E Id)
2347 +      { return UI_To_Int (Uint8 (Id)); }
2348 +
2349 +   INLINE Uint Modulus (E Id)
2350 +      { return Uint17 (Base_Type (Id)); }
2351 +
2352 +   INLINE B Needs_Debug_Info (E Id)
2353 +      { return Flag147 (Id); }
2354 +
2355 +   INLINE B Needs_No_Actuals (E Id)
2356 +      { return Flag22 (Id); }
2357 +
2358 +   INLINE B Never_Set_In_Source (E Id)
2359 +      { return Flag115 (Id); }
2360 +
2361 +   INLINE E Next_Inlined_Subprogram (E Id)
2362 +      { return Node12 (Id); }
2363 +
2364 +   INLINE B No_Pool_Assigned (E Id)
2365 +      { return Flag131 (Root_Type (Id)); }
2366 +
2367 +   INLINE B No_Return (E Id)
2368 +      { return Flag113 (Id); }
2369 +
2370 +   INLINE B Non_Binary_Modulus (E Id)
2371 +      { return Flag58 (Base_Type (Id)); }
2372 +
2373 +   INLINE E Non_Limited_View (E Id)
2374 +      { return Node17 (Id); }
2375 +
2376 +   INLINE B Nonzero_Is_True (E Id)
2377 +      { return Flag162 (Base_Type (Id)); }
2378 +
2379 +   INLINE U Normalized_First_Bit (E Id)
2380 +      { return Uint8 (Id); }
2381 +
2382 +   INLINE U Normalized_Position (E Id)
2383 +      { return Uint14 (Id); }
2384 +
2385 +   INLINE U Normalized_Position_Max (E Id)
2386 +      { return Uint10 (Id); }
2387 +
2388 +   INLINE E Object_Ref (E Id)
2389 +      { return Node17 (Id); }
2390 +
2391 +   INLINE E Original_Array_Type (E Id)
2392 +      { return Node21 (Id); }
2393 +
2394 +   INLINE E Original_Record_Component (E Id)
2395 +      { return Node22 (Id); }
2396 +
2397 +   INLINE E Packed_Array_Type (E Id)
2398 +      { return Node23 (Id); }
2399 +
2400 +   INLINE E Parent_Subtype (E Id)
2401 +      { return Node19 (Id); }
2402 +
2403 +   INLINE L Primitive_Operations (E Id)
2404 +      { return Elist15 (Id); }
2405 +
2406 +   INLINE E Prival (E Id)
2407 +      { return Node17 (Id); }
2408 +
2409 +   INLINE L Privals_Chain (E Id)
2410 +      { return Elist23 (Id); }
2411 +
2412 +   INLINE L Private_Dependents (E Id)
2413 +      { return Elist18 (Id); }
2414 +
2415 +   INLINE N Private_View (E Id)
2416 +      { return Node22 (Id); }
2417 +
2418 +   INLINE E Protected_Body_Subprogram (E Id)
2419 +      { return Node11 (Id); }
2420 +
2421 +   INLINE E Protected_Formal (E Id)
2422 +      { return Node22 (Id); }
2423 +
2424 +   INLINE N Protected_Operation (E Id)
2425 +      { return Node23 (Id); }
2426 +
2427 +   INLINE B Reachable (E Id)
2428 +      { return Flag49 (Id); }
2429 +
2430 +   INLINE B Referenced (E Id)
2431 +      { return Flag156 (Id); }
2432 +
2433 +   INLINE B Referenced_As_LHS (E Id)
2434 +      { return Flag36 (Id); }
2435 +
2436 +   INLINE N Referenced_Object (E Id)
2437 +      { return Node10 (Id); }
2438 +
2439 +   INLINE N Register_Exception_Call (E Id)
2440 +      { return Node20 (Id); }
2441 +
2442 +   INLINE E Related_Array_Object (E Id)
2443 +      { return Node19 (Id); }
2444 +
2445 +   INLINE E Related_Instance (E Id)
2446 +      { return Node15 (Id); }
2447 +
2448 +   INLINE N Renamed_Entity (E Id)
2449 +      { return Node18 (Id); }
2450 +
2451 +   INLINE N Renamed_Object (E Id)
2452 +      { return Node18 (Id); }
2453 +
2454 +   INLINE U Renaming_Map (E Id)
2455 +      { return Uint9 (Id); }
2456 +
2457 +   INLINE B Return_Present (E Id)
2458 +      { return Flag54 (Id); }
2459 +
2460 +   INLINE B Returns_By_Ref (E Id)
2461 +      { return Flag90 (Id); }
2462 +
2463 +   INLINE B Reverse_Bit_Order (E Id)
2464 +      { return Flag164 (Base_Type (Id)); }
2465 +
2466 +   INLINE U RM_Size (E Id)
2467 +      { return Uint13 (Id); }
2468 +
2469 +   INLINE N Scalar_Range (E Id)
2470 +      { return Node20 (Id); }
2471 +
2472 +   INLINE U Scale_Value (E Id)
2473 +      { return Uint15 (Id); }
2474 +
2475 +   INLINE U Scope_Depth_Value (E Id)
2476 +      { return Uint22 (Id); }
2477 +
2478 +   INLINE B Sec_Stack_Needed_For_Return (E Id)
2479 +      { return Flag167 (Id); }
2480 +
2481 +   INLINE S Shadow_Entities (E Id)
2482 +      { return List14 (Id); }
2483 +
2484 +   INLINE E Shared_Var_Assign_Proc (E Id)
2485 +      { return Node22 (Id); }
2486 +
2487 +   INLINE E Shared_Var_Read_Proc (E Id)
2488 +      { return Node15 (Id); }
2489 +
2490 +   INLINE N Size_Check_Code (E Id)
2491 +      { return Node19 (Id); }
2492 +
2493 +   INLINE B Size_Depends_On_Discriminant (E Id)
2494 +      { return Flag177 (Id); }
2495 +
2496 +   INLINE B Size_Known_At_Compile_Time (E Id)
2497 +      { return Flag92 (Id); }
2498 +
2499 +   INLINE R Small_Value (E Id)
2500 +      { return Ureal21 (Id); }
2501 +
2502 +   INLINE E Spec_Entity (E Id)
2503 +      { return Node19 (Id); }
2504 +
2505 +   INLINE E Storage_Size_Variable (E Id)
2506 +      { return Node15 (Implementation_Base_Type (Id)); }
2507 +
2508 +   INLINE L Stored_Constraint (E Id)
2509 +      { return Elist23 (Id); }
2510 +
2511 +   INLINE B Strict_Alignment (E Id)
2512 +      { return Flag145 (Implementation_Base_Type (Id)); }
2513 +
2514 +   INLINE U String_Literal_Length (E Id)
2515 +      { return Uint16 (Id); }
2516 +
2517 +   INLINE N String_Literal_Low_Bound (E Id)
2518 +      { return Node15 (Id); }
2519 +
2520 +   INLINE B Suppress_Elaboration_Warnings (E Id)
2521 +      { return Flag148 (Id); }
2522 +
2523 +   INLINE B Suppress_Init_Proc (E Id)
2524 +      { return Flag105 (Base_Type (Id)); }
2525 +
2526 +   INLINE B Suppress_Style_Checks (E Id)
2527 +      { return Flag165 (Id); }
2528 +
2529 +   INLINE B Treat_As_Volatile (E Id)
2530 +      { return Flag41 (Id); }
2531 +
2532 +   INLINE E Underlying_Full_View (E Id)
2533 +      { return Node19 (Id); }
2534 +
2535 +   INLINE N Unset_Reference (E Id)
2536 +      { return Node16 (Id); }
2537 +
2538 +   INLINE B Uses_Sec_Stack (E Id)
2539 +      { return Flag95 (Id); }
2540 +
2541 +   INLINE B Vax_Float (E Id)
2542 +      { return Flag151 (Base_Type (Id)); }
2543 +
2544 +   INLINE B Warnings_Off (E Id)
2545 +      { return Flag96 (Id); }
2546 +
2547 +   INLINE B Is_Access_Type                      (E Id)
2548 +      { return IN (Ekind (Id), Access_Kind); }
2549 +
2550 +   INLINE B Is_Array_Type                       (E Id)
2551 +      { return IN (Ekind (Id), Array_Kind); }
2552 +
2553 +   INLINE B Is_Class_Wide_Type                  (E Id)
2554 +      { return IN (Ekind (Id), Class_Wide_Kind); }
2555 +
2556 +   INLINE B Is_Composite_Type                   (E Id)
2557 +      { return IN (Ekind (Id), Composite_Kind); }
2558 +
2559 +   INLINE B Is_Concurrent_Body                  (E Id)
2560 +      { return IN (Ekind (Id), Concurrent_Body_Kind); }
2561 +
2562 +   INLINE B Is_Concurrent_Record_Type           (E Id)
2563 +      { return Flag20 (Id); }
2564 +
2565 +   INLINE B Is_Concurrent_Type                  (E Id)
2566 +      { return IN (Ekind (Id), Concurrent_Kind); }
2567 +
2568 +   INLINE B Is_Decimal_Fixed_Point_Type         (E Id)
2569 +      { return IN (Ekind (Id), Decimal_Fixed_Point_Kind); }
2570 +
2571 +   INLINE B Is_Digits_Type                      (E Id)
2572 +      { return IN (Ekind (Id), Digits_Kind); }
2573 +
2574 +   INLINE B Is_Discrete_Or_Fixed_Point_Type     (E Id)
2575 +      { return IN (Ekind (Id), Discrete_Or_Fixed_Point_Kind); }
2576 +
2577 +   INLINE B Is_Discrete_Type                    (E Id)
2578 +      { return IN (Ekind (Id), Discrete_Kind); }
2579 +
2580 +   INLINE B Is_Elementary_Type                  (E Id)
2581 +      { return IN (Ekind (Id), Elementary_Kind); }
2582 +
2583 +   INLINE B Is_Entry                            (E Id)
2584 +      { return IN (Ekind (Id), Entry_Kind); }
2585 +
2586 +   INLINE B Is_Enumeration_Type                 (E Id)
2587 +      { return IN (Ekind (Id), Enumeration_Kind); }
2588 +
2589 +   INLINE B Is_Fixed_Point_Type                 (E Id)
2590 +      { return IN (Ekind (Id), Fixed_Point_Kind); }
2591 +
2592 +   INLINE B Is_Floating_Point_Type              (E Id)
2593 +      { return IN (Ekind (Id), Float_Kind); }
2594 +
2595 +   INLINE B Is_Formal                           (E Id)
2596 +      { return IN (Ekind (Id), Formal_Kind); }
2597 +
2598 +   INLINE B Is_Generic_Subprogram               (E Id)
2599 +      { return IN (Ekind (Id), Generic_Subprogram_Kind); }
2600 +
2601 +   INLINE B Is_Generic_Unit                     (E Id)
2602 +      { return IN (Ekind (Id), Generic_Unit_Kind); }
2603 +
2604 +   INLINE B Is_Incomplete_Or_Private_Type       (E Id)
2605 +      { return IN (Ekind (Id), Incomplete_Or_Private_Kind); }
2606 +
2607 +   INLINE B Is_Integer_Type                     (E Id)
2608 +      { return IN (Ekind (Id), Integer_Kind); }
2609 +
2610 +   INLINE B Is_Modular_Integer_Type             (E Id)
2611 +      { return IN (Ekind (Id), Modular_Integer_Kind); }
2612 +
2613 +   INLINE B Is_Named_Number                     (E Id)
2614 +      { return IN (Ekind (Id), Named_Kind); }
2615 +
2616 +   INLINE B Is_Numeric_Type                     (E Id)
2617 +      { return IN (Ekind (Id), Numeric_Kind); }
2618 +
2619 +   INLINE B Is_Object                           (E Id)
2620 +      { return IN (Ekind (Id), Object_Kind); }
2621 +
2622 +   INLINE B Is_Ordinary_Fixed_Point_Type        (E Id)
2623 +      { return IN (Ekind (Id), Ordinary_Fixed_Point_Kind); }
2624 +
2625 +   INLINE B Is_Overloadable                     (E Id)
2626 +      { return IN (Ekind (Id), Overloadable_Kind); }
2627 +
2628 +   INLINE B Is_Private_Type                     (E Id)
2629 +      { return IN (Ekind (Id), Private_Kind); }
2630 +
2631 +   INLINE B Is_Protected_Type                   (E Id)
2632 +      { return IN (Ekind (Id), Protected_Kind); }
2633 +
2634 +   INLINE B Is_Real_Type                        (E Id)
2635 +      { return IN (Ekind (Id), Real_Kind); }
2636 +
2637 +   INLINE B Is_Record_Type                      (E Id)
2638 +      { return IN (Ekind (Id), Record_Kind); }
2639 +
2640 +   INLINE B Is_Scalar_Type                      (E Id)
2641 +      { return IN (Ekind (Id), Scalar_Kind); }
2642 +
2643 +   INLINE B Is_Signed_Integer_Type              (E Id)
2644 +      { return IN (Ekind (Id), Signed_Integer_Kind); }
2645 +
2646 +   INLINE B Is_Subprogram                       (E Id)
2647 +      { return IN (Ekind (Id), Subprogram_Kind); }
2648 +
2649 +   INLINE B Is_Task_Type                        (E Id)
2650 +      { return IN (Ekind (Id), Task_Kind); }
2651 +
2652 +   INLINE B Is_Type                             (E Id)
2653 +      { return IN (Ekind (Id), Type_Kind); }
2654 +
2655 +   INLINE N Entry_Index_Type (E Id)
2656 +      { return Etype (Discrete_Subtype_Definition (Parent (Id))); }
2657 +
2658 +   INLINE Node_Id Next_Index (Node_Id Id)
2659 +      { return Next (Id); }
2660 +
2661 +   INLINE E Next_Literal (E Id)
2662 +      { return Next (Id); }
2663 +
2664 +   INLINE Formal_Kind Parameter_Mode (E Id)
2665 +      { return Ekind (Id); }
2666 +
2667 +/* End of einfo.h (C version of Einfo package specification) */
2668 --- gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/nmake.adb.orig        1970-01-01 01:00:00.000000000 +0100
2669 +++ gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/nmake.adb     2004-06-02 00:52:35.000000000 +0200
2670 @@ -0,0 +1,2867 @@
2671 +------------------------------------------------------------------------------
2672 +--                                                                          --
2673 +--                         GNAT COMPILER COMPONENTS                         --
2674 +--                                                                          --
2675 +--                                N M A K E                                 --
2676 +--                                                                          --
2677 +--                                 B o d y                                  --
2678 +--                                                                          --
2679 +--          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
2680 +--                                                                          --
2681 +-- GNAT is free software;  you can  redistribute it  and/or modify it under --
2682 +-- terms of the  GNU General Public License as published  by the Free Soft- --
2683 +-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
2684 +-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
2685 +-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
2686 +-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
2687 +-- for  more details.  You should have  received  a copy of the GNU General --
2688 +-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
2689 +-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
2690 +-- MA 02111-1307, USA.                                                      --
2691 +--                                                                          --
2692 +-- GNAT was originally developed  by the GNAT team at  New York University. --
2693 +-- Extensive contributions were provided by Ada Core Technologies Inc.      --
2694 +--                                                                          --
2695 +------------------------------------------------------------------------------
2696 +
2697 +pragma Style_Checks (All_Checks);
2698 +--  Turn off subprogram order checking, since the routines here are
2699 +--  generated automatically in order.
2700 +
2701 +
2702 +with Atree;  use Atree;
2703 +with Sinfo;  use Sinfo;
2704 +with Snames; use Snames;
2705 +with Stand;  use Stand;
2706 +
2707 +package body Nmake is
2708 +
2709 +   function Make_Unused_At_Start (Sloc : Source_Ptr)
2710 +      return Node_Id
2711 +   is
2712 +      N : constant Node_Id :=
2713 +            New_Node (N_Unused_At_Start, Sloc);
2714 +   begin
2715 +      return N;
2716 +   end Make_Unused_At_Start;
2717 +
2718 +   function Make_Unused_At_End (Sloc : Source_Ptr)
2719 +      return Node_Id
2720 +   is
2721 +      N : constant Node_Id :=
2722 +            New_Node (N_Unused_At_End, Sloc);
2723 +   begin
2724 +      return N;
2725 +   end Make_Unused_At_End;
2726 +
2727 +   function Make_Identifier (Sloc : Source_Ptr;
2728 +      Chars                        : Name_Id)
2729 +      return Node_Id
2730 +   is
2731 +      N : constant Node_Id :=
2732 +            New_Node (N_Identifier, Sloc);
2733 +   begin
2734 +      Set_Chars (N, Chars);
2735 +      return N;
2736 +   end Make_Identifier;
2737 +
2738 +   function Make_Integer_Literal (Sloc : Source_Ptr;
2739 +      Intval                       : Uint)
2740 +      return Node_Id
2741 +   is
2742 +      N : constant Node_Id :=
2743 +            New_Node (N_Integer_Literal, Sloc);
2744 +   begin
2745 +      Set_Intval (N, Intval);
2746 +      return N;
2747 +   end Make_Integer_Literal;
2748 +
2749 +   function Make_Real_Literal (Sloc : Source_Ptr;
2750 +      Realval                      : Ureal)
2751 +      return Node_Id
2752 +   is
2753 +      N : constant Node_Id :=
2754 +            New_Node (N_Real_Literal, Sloc);
2755 +   begin
2756 +      Set_Realval (N, Realval);
2757 +      return N;
2758 +   end Make_Real_Literal;
2759 +
2760 +   function Make_Character_Literal (Sloc : Source_Ptr;
2761 +      Chars                        : Name_Id;
2762 +      Char_Literal_Value           : Char_Code)
2763 +      return Node_Id
2764 +   is
2765 +      N : constant Node_Id :=
2766 +            New_Node (N_Character_Literal, Sloc);
2767 +   begin
2768 +      Set_Chars (N, Chars);
2769 +      Set_Char_Literal_Value (N, Char_Literal_Value);
2770 +      return N;
2771 +   end Make_Character_Literal;
2772 +
2773 +   function Make_String_Literal (Sloc : Source_Ptr;
2774 +      Strval                       : String_Id)
2775 +      return Node_Id
2776 +   is
2777 +      N : constant Node_Id :=
2778 +            New_Node (N_String_Literal, Sloc);
2779 +   begin
2780 +      Set_Strval (N, Strval);
2781 +      return N;
2782 +   end Make_String_Literal;
2783 +
2784 +   function Make_Pragma (Sloc : Source_Ptr;
2785 +      Chars                        : Name_Id;
2786 +      Pragma_Argument_Associations : List_Id := No_List;
2787 +      Debug_Statement              : Node_Id := Empty)
2788 +      return Node_Id
2789 +   is
2790 +      N : constant Node_Id :=
2791 +            New_Node (N_Pragma, Sloc);
2792 +   begin
2793 +      Set_Chars (N, Chars);
2794 +      Set_Pragma_Argument_Associations
2795 +        (N, Pragma_Argument_Associations);
2796 +      Set_Debug_Statement (N, Debug_Statement);
2797 +      return N;
2798 +   end Make_Pragma;
2799 +
2800 +   function Make_Pragma_Argument_Association (Sloc : Source_Ptr;
2801 +      Chars                        : Name_Id := No_Name;
2802 +      Expression                   : Node_Id)
2803 +      return Node_Id
2804 +   is
2805 +      N : constant Node_Id :=
2806 +            New_Node (N_Pragma_Argument_Association, Sloc);
2807 +   begin
2808 +      Set_Chars (N, Chars);
2809 +      Set_Expression (N, Expression);
2810 +      return N;
2811 +   end Make_Pragma_Argument_Association;
2812 +
2813 +   function Make_Defining_Identifier (Sloc : Source_Ptr;
2814 +      Chars                        : Name_Id)
2815 +      return Node_Id
2816 +   is
2817 +      N : constant Node_Id :=
2818 +            New_Entity (N_Defining_Identifier, Sloc);
2819 +   begin
2820 +      Set_Chars (N, Chars);
2821 +      return N;
2822 +   end Make_Defining_Identifier;
2823 +
2824 +   function Make_Full_Type_Declaration (Sloc : Source_Ptr;
2825 +      Defining_Identifier          : Node_Id;
2826 +      Discriminant_Specifications  : List_Id := No_List;
2827 +      Type_Definition              : Node_Id)
2828 +      return Node_Id
2829 +   is
2830 +      N : constant Node_Id :=
2831 +            New_Node (N_Full_Type_Declaration, Sloc);
2832 +   begin
2833 +      Set_Defining_Identifier (N, Defining_Identifier);
2834 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
2835 +      Set_Type_Definition (N, Type_Definition);
2836 +      return N;
2837 +   end Make_Full_Type_Declaration;
2838 +
2839 +   function Make_Subtype_Declaration (Sloc : Source_Ptr;
2840 +      Defining_Identifier          : Node_Id;
2841 +      Subtype_Indication           : Node_Id)
2842 +      return Node_Id
2843 +   is
2844 +      N : constant Node_Id :=
2845 +            New_Node (N_Subtype_Declaration, Sloc);
2846 +   begin
2847 +      Set_Defining_Identifier (N, Defining_Identifier);
2848 +      Set_Subtype_Indication (N, Subtype_Indication);
2849 +      return N;
2850 +   end Make_Subtype_Declaration;
2851 +
2852 +   function Make_Subtype_Indication (Sloc : Source_Ptr;
2853 +      Subtype_Mark                 : Node_Id;
2854 +      Constraint                   : Node_Id)
2855 +      return Node_Id
2856 +   is
2857 +      N : constant Node_Id :=
2858 +            New_Node (N_Subtype_Indication, Sloc);
2859 +   begin
2860 +      Set_Subtype_Mark (N, Subtype_Mark);
2861 +      Set_Constraint (N, Constraint);
2862 +      return N;
2863 +   end Make_Subtype_Indication;
2864 +
2865 +   function Make_Object_Declaration (Sloc : Source_Ptr;
2866 +      Defining_Identifier          : Node_Id;
2867 +      Aliased_Present              : Boolean := False;
2868 +      Constant_Present             : Boolean := False;
2869 +      Object_Definition            : Node_Id;
2870 +      Expression                   : Node_Id := Empty)
2871 +      return Node_Id
2872 +   is
2873 +      N : constant Node_Id :=
2874 +            New_Node (N_Object_Declaration, Sloc);
2875 +   begin
2876 +      Set_Defining_Identifier (N, Defining_Identifier);
2877 +      Set_Aliased_Present (N, Aliased_Present);
2878 +      Set_Constant_Present (N, Constant_Present);
2879 +      Set_Object_Definition (N, Object_Definition);
2880 +      Set_Expression (N, Expression);
2881 +      return N;
2882 +   end Make_Object_Declaration;
2883 +
2884 +   function Make_Number_Declaration (Sloc : Source_Ptr;
2885 +      Defining_Identifier          : Node_Id;
2886 +      Expression                   : Node_Id)
2887 +      return Node_Id
2888 +   is
2889 +      N : constant Node_Id :=
2890 +            New_Node (N_Number_Declaration, Sloc);
2891 +   begin
2892 +      Set_Defining_Identifier (N, Defining_Identifier);
2893 +      Set_Expression (N, Expression);
2894 +      return N;
2895 +   end Make_Number_Declaration;
2896 +
2897 +   function Make_Derived_Type_Definition (Sloc : Source_Ptr;
2898 +      Abstract_Present             : Boolean := False;
2899 +      Subtype_Indication           : Node_Id;
2900 +      Record_Extension_Part        : Node_Id := Empty)
2901 +      return Node_Id
2902 +   is
2903 +      N : constant Node_Id :=
2904 +            New_Node (N_Derived_Type_Definition, Sloc);
2905 +   begin
2906 +      Set_Abstract_Present (N, Abstract_Present);
2907 +      Set_Subtype_Indication (N, Subtype_Indication);
2908 +      Set_Record_Extension_Part (N, Record_Extension_Part);
2909 +      return N;
2910 +   end Make_Derived_Type_Definition;
2911 +
2912 +   function Make_Range_Constraint (Sloc : Source_Ptr;
2913 +      Range_Expression             : Node_Id)
2914 +      return Node_Id
2915 +   is
2916 +      N : constant Node_Id :=
2917 +            New_Node (N_Range_Constraint, Sloc);
2918 +   begin
2919 +      Set_Range_Expression (N, Range_Expression);
2920 +      return N;
2921 +   end Make_Range_Constraint;
2922 +
2923 +   function Make_Range (Sloc : Source_Ptr;
2924 +      Low_Bound                    : Node_Id;
2925 +      High_Bound                   : Node_Id;
2926 +      Includes_Infinities          : Boolean := False)
2927 +      return Node_Id
2928 +   is
2929 +      N : constant Node_Id :=
2930 +            New_Node (N_Range, Sloc);
2931 +   begin
2932 +      Set_Low_Bound (N, Low_Bound);
2933 +      Set_High_Bound (N, High_Bound);
2934 +      Set_Includes_Infinities (N, Includes_Infinities);
2935 +      return N;
2936 +   end Make_Range;
2937 +
2938 +   function Make_Enumeration_Type_Definition (Sloc : Source_Ptr;
2939 +      Literals                     : List_Id;
2940 +      End_Label                    : Node_Id := Empty)
2941 +      return Node_Id
2942 +   is
2943 +      N : constant Node_Id :=
2944 +            New_Node (N_Enumeration_Type_Definition, Sloc);
2945 +   begin
2946 +      Set_Literals (N, Literals);
2947 +      Set_End_Label (N, End_Label);
2948 +      return N;
2949 +   end Make_Enumeration_Type_Definition;
2950 +
2951 +   function Make_Defining_Character_Literal (Sloc : Source_Ptr;
2952 +      Chars                        : Name_Id)
2953 +      return Node_Id
2954 +   is
2955 +      N : constant Node_Id :=
2956 +            New_Entity (N_Defining_Character_Literal, Sloc);
2957 +   begin
2958 +      Set_Chars (N, Chars);
2959 +      return N;
2960 +   end Make_Defining_Character_Literal;
2961 +
2962 +   function Make_Signed_Integer_Type_Definition (Sloc : Source_Ptr;
2963 +      Low_Bound                    : Node_Id;
2964 +      High_Bound                   : Node_Id)
2965 +      return Node_Id
2966 +   is
2967 +      N : constant Node_Id :=
2968 +            New_Node (N_Signed_Integer_Type_Definition, Sloc);
2969 +   begin
2970 +      Set_Low_Bound (N, Low_Bound);
2971 +      Set_High_Bound (N, High_Bound);
2972 +      return N;
2973 +   end Make_Signed_Integer_Type_Definition;
2974 +
2975 +   function Make_Modular_Type_Definition (Sloc : Source_Ptr;
2976 +      Expression                   : Node_Id)
2977 +      return Node_Id
2978 +   is
2979 +      N : constant Node_Id :=
2980 +            New_Node (N_Modular_Type_Definition, Sloc);
2981 +   begin
2982 +      Set_Expression (N, Expression);
2983 +      return N;
2984 +   end Make_Modular_Type_Definition;
2985 +
2986 +   function Make_Floating_Point_Definition (Sloc : Source_Ptr;
2987 +      Digits_Expression            : Node_Id;
2988 +      Real_Range_Specification     : Node_Id := Empty)
2989 +      return Node_Id
2990 +   is
2991 +      N : constant Node_Id :=
2992 +            New_Node (N_Floating_Point_Definition, Sloc);
2993 +   begin
2994 +      Set_Digits_Expression (N, Digits_Expression);
2995 +      Set_Real_Range_Specification (N, Real_Range_Specification);
2996 +      return N;
2997 +   end Make_Floating_Point_Definition;
2998 +
2999 +   function Make_Real_Range_Specification (Sloc : Source_Ptr;
3000 +      Low_Bound                    : Node_Id;
3001 +      High_Bound                   : Node_Id)
3002 +      return Node_Id
3003 +   is
3004 +      N : constant Node_Id :=
3005 +            New_Node (N_Real_Range_Specification, Sloc);
3006 +   begin
3007 +      Set_Low_Bound (N, Low_Bound);
3008 +      Set_High_Bound (N, High_Bound);
3009 +      return N;
3010 +   end Make_Real_Range_Specification;
3011 +
3012 +   function Make_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr;
3013 +      Delta_Expression             : Node_Id;
3014 +      Real_Range_Specification     : Node_Id)
3015 +      return Node_Id
3016 +   is
3017 +      N : constant Node_Id :=
3018 +            New_Node (N_Ordinary_Fixed_Point_Definition, Sloc);
3019 +   begin
3020 +      Set_Delta_Expression (N, Delta_Expression);
3021 +      Set_Real_Range_Specification (N, Real_Range_Specification);
3022 +      return N;
3023 +   end Make_Ordinary_Fixed_Point_Definition;
3024 +
3025 +   function Make_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr;
3026 +      Delta_Expression             : Node_Id;
3027 +      Digits_Expression            : Node_Id;
3028 +      Real_Range_Specification     : Node_Id := Empty)
3029 +      return Node_Id
3030 +   is
3031 +      N : constant Node_Id :=
3032 +            New_Node (N_Decimal_Fixed_Point_Definition, Sloc);
3033 +   begin
3034 +      Set_Delta_Expression (N, Delta_Expression);
3035 +      Set_Digits_Expression (N, Digits_Expression);
3036 +      Set_Real_Range_Specification (N, Real_Range_Specification);
3037 +      return N;
3038 +   end Make_Decimal_Fixed_Point_Definition;
3039 +
3040 +   function Make_Digits_Constraint (Sloc : Source_Ptr;
3041 +      Digits_Expression            : Node_Id;
3042 +      Range_Constraint             : Node_Id := Empty)
3043 +      return Node_Id
3044 +   is
3045 +      N : constant Node_Id :=
3046 +            New_Node (N_Digits_Constraint, Sloc);
3047 +   begin
3048 +      Set_Digits_Expression (N, Digits_Expression);
3049 +      Set_Range_Constraint (N, Range_Constraint);
3050 +      return N;
3051 +   end Make_Digits_Constraint;
3052 +
3053 +   function Make_Unconstrained_Array_Definition (Sloc : Source_Ptr;
3054 +      Subtype_Marks                : List_Id;
3055 +      Component_Definition         : Node_Id)
3056 +      return Node_Id
3057 +   is
3058 +      N : constant Node_Id :=
3059 +            New_Node (N_Unconstrained_Array_Definition, Sloc);
3060 +   begin
3061 +      Set_Subtype_Marks (N, Subtype_Marks);
3062 +      Set_Component_Definition (N, Component_Definition);
3063 +      return N;
3064 +   end Make_Unconstrained_Array_Definition;
3065 +
3066 +   function Make_Constrained_Array_Definition (Sloc : Source_Ptr;
3067 +      Discrete_Subtype_Definitions : List_Id;
3068 +      Component_Definition         : Node_Id)
3069 +      return Node_Id
3070 +   is
3071 +      N : constant Node_Id :=
3072 +            New_Node (N_Constrained_Array_Definition, Sloc);
3073 +   begin
3074 +      Set_Discrete_Subtype_Definitions
3075 +        (N, Discrete_Subtype_Definitions);
3076 +      Set_Component_Definition (N, Component_Definition);
3077 +      return N;
3078 +   end Make_Constrained_Array_Definition;
3079 +
3080 +   function Make_Component_Definition (Sloc : Source_Ptr;
3081 +      Aliased_Present              : Boolean := False;
3082 +      Subtype_Indication           : Node_Id)
3083 +      return Node_Id
3084 +   is
3085 +      N : constant Node_Id :=
3086 +            New_Node (N_Component_Definition, Sloc);
3087 +   begin
3088 +      Set_Aliased_Present (N, Aliased_Present);
3089 +      Set_Subtype_Indication (N, Subtype_Indication);
3090 +      return N;
3091 +   end Make_Component_Definition;
3092 +
3093 +   function Make_Discriminant_Specification (Sloc : Source_Ptr;
3094 +      Defining_Identifier          : Node_Id;
3095 +      Discriminant_Type            : Node_Id;
3096 +      Expression                   : Node_Id := Empty)
3097 +      return Node_Id
3098 +   is
3099 +      N : constant Node_Id :=
3100 +            New_Node (N_Discriminant_Specification, Sloc);
3101 +   begin
3102 +      Set_Defining_Identifier (N, Defining_Identifier);
3103 +      Set_Discriminant_Type (N, Discriminant_Type);
3104 +      Set_Expression (N, Expression);
3105 +      return N;
3106 +   end Make_Discriminant_Specification;
3107 +
3108 +   function Make_Index_Or_Discriminant_Constraint (Sloc : Source_Ptr;
3109 +      Constraints                  : List_Id)
3110 +      return Node_Id
3111 +   is
3112 +      N : constant Node_Id :=
3113 +            New_Node (N_Index_Or_Discriminant_Constraint, Sloc);
3114 +   begin
3115 +      Set_Constraints (N, Constraints);
3116 +      return N;
3117 +   end Make_Index_Or_Discriminant_Constraint;
3118 +
3119 +   function Make_Discriminant_Association (Sloc : Source_Ptr;
3120 +      Selector_Names               : List_Id;
3121 +      Expression                   : Node_Id)
3122 +      return Node_Id
3123 +   is
3124 +      N : constant Node_Id :=
3125 +            New_Node (N_Discriminant_Association, Sloc);
3126 +   begin
3127 +      Set_Selector_Names (N, Selector_Names);
3128 +      Set_Expression (N, Expression);
3129 +      return N;
3130 +   end Make_Discriminant_Association;
3131 +
3132 +   function Make_Record_Definition (Sloc : Source_Ptr;
3133 +      End_Label                    : Node_Id := Empty;
3134 +      Abstract_Present             : Boolean := False;
3135 +      Tagged_Present               : Boolean := False;
3136 +      Limited_Present              : Boolean := False;
3137 +      Component_List               : Node_Id;
3138 +      Null_Present                 : Boolean := False)
3139 +      return Node_Id
3140 +   is
3141 +      N : constant Node_Id :=
3142 +            New_Node (N_Record_Definition, Sloc);
3143 +   begin
3144 +      Set_End_Label (N, End_Label);
3145 +      Set_Abstract_Present (N, Abstract_Present);
3146 +      Set_Tagged_Present (N, Tagged_Present);
3147 +      Set_Limited_Present (N, Limited_Present);
3148 +      Set_Component_List (N, Component_List);
3149 +      Set_Null_Present (N, Null_Present);
3150 +      return N;
3151 +   end Make_Record_Definition;
3152 +
3153 +   function Make_Component_List (Sloc : Source_Ptr;
3154 +      Component_Items              : List_Id;
3155 +      Variant_Part                 : Node_Id := Empty;
3156 +      Null_Present                 : Boolean := False)
3157 +      return Node_Id
3158 +   is
3159 +      N : constant Node_Id :=
3160 +            New_Node (N_Component_List, Sloc);
3161 +   begin
3162 +      Set_Component_Items (N, Component_Items);
3163 +      Set_Variant_Part (N, Variant_Part);
3164 +      Set_Null_Present (N, Null_Present);
3165 +      return N;
3166 +   end Make_Component_List;
3167 +
3168 +   function Make_Component_Declaration (Sloc : Source_Ptr;
3169 +      Defining_Identifier          : Node_Id;
3170 +      Component_Definition         : Node_Id;
3171 +      Expression                   : Node_Id := Empty)
3172 +      return Node_Id
3173 +   is
3174 +      N : constant Node_Id :=
3175 +            New_Node (N_Component_Declaration, Sloc);
3176 +   begin
3177 +      Set_Defining_Identifier (N, Defining_Identifier);
3178 +      Set_Component_Definition (N, Component_Definition);
3179 +      Set_Expression (N, Expression);
3180 +      return N;
3181 +   end Make_Component_Declaration;
3182 +
3183 +   function Make_Variant_Part (Sloc : Source_Ptr;
3184 +      Name                         : Node_Id;
3185 +      Variants                     : List_Id)
3186 +      return Node_Id
3187 +   is
3188 +      N : constant Node_Id :=
3189 +            New_Node (N_Variant_Part, Sloc);
3190 +   begin
3191 +      Set_Name (N, Name);
3192 +      Set_Variants (N, Variants);
3193 +      return N;
3194 +   end Make_Variant_Part;
3195 +
3196 +   function Make_Variant (Sloc : Source_Ptr;
3197 +      Discrete_Choices             : List_Id;
3198 +      Component_List               : Node_Id)
3199 +      return Node_Id
3200 +   is
3201 +      N : constant Node_Id :=
3202 +            New_Node (N_Variant, Sloc);
3203 +   begin
3204 +      Set_Discrete_Choices (N, Discrete_Choices);
3205 +      Set_Component_List (N, Component_List);
3206 +      return N;
3207 +   end Make_Variant;
3208 +
3209 +   function Make_Others_Choice (Sloc : Source_Ptr)
3210 +      return Node_Id
3211 +   is
3212 +      N : constant Node_Id :=
3213 +            New_Node (N_Others_Choice, Sloc);
3214 +   begin
3215 +      return N;
3216 +   end Make_Others_Choice;
3217 +
3218 +   function Make_Access_To_Object_Definition (Sloc : Source_Ptr;
3219 +      All_Present                  : Boolean := False;
3220 +      Subtype_Indication           : Node_Id;
3221 +      Constant_Present             : Boolean := False)
3222 +      return Node_Id
3223 +   is
3224 +      N : constant Node_Id :=
3225 +            New_Node (N_Access_To_Object_Definition, Sloc);
3226 +   begin
3227 +      Set_All_Present (N, All_Present);
3228 +      Set_Subtype_Indication (N, Subtype_Indication);
3229 +      Set_Constant_Present (N, Constant_Present);
3230 +      return N;
3231 +   end Make_Access_To_Object_Definition;
3232 +
3233 +   function Make_Access_Function_Definition (Sloc : Source_Ptr;
3234 +      Protected_Present            : Boolean := False;
3235 +      Parameter_Specifications     : List_Id := No_List;
3236 +      Subtype_Mark                 : Node_Id)
3237 +      return Node_Id
3238 +   is
3239 +      N : constant Node_Id :=
3240 +            New_Node (N_Access_Function_Definition, Sloc);
3241 +   begin
3242 +      Set_Protected_Present (N, Protected_Present);
3243 +      Set_Parameter_Specifications (N, Parameter_Specifications);
3244 +      Set_Subtype_Mark (N, Subtype_Mark);
3245 +      return N;
3246 +   end Make_Access_Function_Definition;
3247 +
3248 +   function Make_Access_Procedure_Definition (Sloc : Source_Ptr;
3249 +      Protected_Present            : Boolean := False;
3250 +      Parameter_Specifications     : List_Id := No_List)
3251 +      return Node_Id
3252 +   is
3253 +      N : constant Node_Id :=
3254 +            New_Node (N_Access_Procedure_Definition, Sloc);
3255 +   begin
3256 +      Set_Protected_Present (N, Protected_Present);
3257 +      Set_Parameter_Specifications (N, Parameter_Specifications);
3258 +      return N;
3259 +   end Make_Access_Procedure_Definition;
3260 +
3261 +   function Make_Access_Definition (Sloc : Source_Ptr;
3262 +      Subtype_Mark                 : Node_Id)
3263 +      return Node_Id
3264 +   is
3265 +      N : constant Node_Id :=
3266 +            New_Node (N_Access_Definition, Sloc);
3267 +   begin
3268 +      Set_Subtype_Mark (N, Subtype_Mark);
3269 +      return N;
3270 +   end Make_Access_Definition;
3271 +
3272 +   function Make_Incomplete_Type_Declaration (Sloc : Source_Ptr;
3273 +      Defining_Identifier          : Node_Id;
3274 +      Discriminant_Specifications  : List_Id := No_List;
3275 +      Unknown_Discriminants_Present : Boolean := False)
3276 +      return Node_Id
3277 +   is
3278 +      N : constant Node_Id :=
3279 +            New_Node (N_Incomplete_Type_Declaration, Sloc);
3280 +   begin
3281 +      Set_Defining_Identifier (N, Defining_Identifier);
3282 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
3283 +      Set_Unknown_Discriminants_Present
3284 +        (N, Unknown_Discriminants_Present);
3285 +      return N;
3286 +   end Make_Incomplete_Type_Declaration;
3287 +
3288 +   function Make_Explicit_Dereference (Sloc : Source_Ptr;
3289 +      Prefix                       : Node_Id)
3290 +      return Node_Id
3291 +   is
3292 +      N : constant Node_Id :=
3293 +            New_Node (N_Explicit_Dereference, Sloc);
3294 +   begin
3295 +      Set_Prefix (N, Prefix);
3296 +      return N;
3297 +   end Make_Explicit_Dereference;
3298 +
3299 +   function Make_Indexed_Component (Sloc : Source_Ptr;
3300 +      Prefix                       : Node_Id;
3301 +      Expressions                  : List_Id)
3302 +      return Node_Id
3303 +   is
3304 +      N : constant Node_Id :=
3305 +            New_Node (N_Indexed_Component, Sloc);
3306 +   begin
3307 +      Set_Prefix (N, Prefix);
3308 +      Set_Expressions (N, Expressions);
3309 +      return N;
3310 +   end Make_Indexed_Component;
3311 +
3312 +   function Make_Slice (Sloc : Source_Ptr;
3313 +      Prefix                       : Node_Id;
3314 +      Discrete_Range               : Node_Id)
3315 +      return Node_Id
3316 +   is
3317 +      N : constant Node_Id :=
3318 +            New_Node (N_Slice, Sloc);
3319 +   begin
3320 +      Set_Prefix (N, Prefix);
3321 +      Set_Discrete_Range (N, Discrete_Range);
3322 +      return N;
3323 +   end Make_Slice;
3324 +
3325 +   function Make_Selected_Component (Sloc : Source_Ptr;
3326 +      Prefix                       : Node_Id;
3327 +      Selector_Name                : Node_Id)
3328 +      return Node_Id
3329 +   is
3330 +      N : constant Node_Id :=
3331 +            New_Node (N_Selected_Component, Sloc);
3332 +   begin
3333 +      Set_Prefix (N, Prefix);
3334 +      Set_Selector_Name (N, Selector_Name);
3335 +      return N;
3336 +   end Make_Selected_Component;
3337 +
3338 +   function Make_Attribute_Reference (Sloc : Source_Ptr;
3339 +      Prefix                       : Node_Id;
3340 +      Attribute_Name               : Name_Id;
3341 +      Expressions                  : List_Id := No_List;
3342 +      Must_Be_Byte_Aligned         : Boolean := False)
3343 +      return Node_Id
3344 +   is
3345 +      N : constant Node_Id :=
3346 +            New_Node (N_Attribute_Reference, Sloc);
3347 +   begin
3348 +      Set_Prefix (N, Prefix);
3349 +      Set_Attribute_Name (N, Attribute_Name);
3350 +      Set_Expressions (N, Expressions);
3351 +      Set_Must_Be_Byte_Aligned (N, Must_Be_Byte_Aligned);
3352 +      return N;
3353 +   end Make_Attribute_Reference;
3354 +
3355 +   function Make_Aggregate (Sloc : Source_Ptr;
3356 +      Expressions                  : List_Id := No_List;
3357 +      Component_Associations       : List_Id := No_List;
3358 +      Null_Record_Present          : Boolean := False)
3359 +      return Node_Id
3360 +   is
3361 +      N : constant Node_Id :=
3362 +            New_Node (N_Aggregate, Sloc);
3363 +   begin
3364 +      Set_Expressions (N, Expressions);
3365 +      Set_Component_Associations (N, Component_Associations);
3366 +      Set_Null_Record_Present (N, Null_Record_Present);
3367 +      return N;
3368 +   end Make_Aggregate;
3369 +
3370 +   function Make_Component_Association (Sloc : Source_Ptr;
3371 +      Choices                      : List_Id;
3372 +      Expression                   : Node_Id;
3373 +      Box_Present                  : Boolean := False)
3374 +      return Node_Id
3375 +   is
3376 +      N : constant Node_Id :=
3377 +            New_Node (N_Component_Association, Sloc);
3378 +   begin
3379 +      Set_Choices (N, Choices);
3380 +      Set_Expression (N, Expression);
3381 +      Set_Box_Present (N, Box_Present);
3382 +      return N;
3383 +   end Make_Component_Association;
3384 +
3385 +   function Make_Extension_Aggregate (Sloc : Source_Ptr;
3386 +      Ancestor_Part                : Node_Id;
3387 +      Expressions                  : List_Id := No_List;
3388 +      Component_Associations       : List_Id := No_List;
3389 +      Null_Record_Present          : Boolean := False)
3390 +      return Node_Id
3391 +   is
3392 +      N : constant Node_Id :=
3393 +            New_Node (N_Extension_Aggregate, Sloc);
3394 +   begin
3395 +      Set_Ancestor_Part (N, Ancestor_Part);
3396 +      Set_Expressions (N, Expressions);
3397 +      Set_Component_Associations (N, Component_Associations);
3398 +      Set_Null_Record_Present (N, Null_Record_Present);
3399 +      return N;
3400 +   end Make_Extension_Aggregate;
3401 +
3402 +   function Make_Null (Sloc : Source_Ptr)
3403 +      return Node_Id
3404 +   is
3405 +      N : constant Node_Id :=
3406 +            New_Node (N_Null, Sloc);
3407 +   begin
3408 +      return N;
3409 +   end Make_Null;
3410 +
3411 +   function Make_And_Then (Sloc : Source_Ptr;
3412 +      Left_Opnd                    : Node_Id;
3413 +      Right_Opnd                   : Node_Id)
3414 +      return Node_Id
3415 +   is
3416 +      N : constant Node_Id :=
3417 +            New_Node (N_And_Then, Sloc);
3418 +   begin
3419 +      Set_Left_Opnd (N, Left_Opnd);
3420 +      Set_Right_Opnd (N, Right_Opnd);
3421 +      return N;
3422 +   end Make_And_Then;
3423 +
3424 +   function Make_Or_Else (Sloc : Source_Ptr;
3425 +      Left_Opnd                    : Node_Id;
3426 +      Right_Opnd                   : Node_Id)
3427 +      return Node_Id
3428 +   is
3429 +      N : constant Node_Id :=
3430 +            New_Node (N_Or_Else, Sloc);
3431 +   begin
3432 +      Set_Left_Opnd (N, Left_Opnd);
3433 +      Set_Right_Opnd (N, Right_Opnd);
3434 +      return N;
3435 +   end Make_Or_Else;
3436 +
3437 +   function Make_In (Sloc : Source_Ptr;
3438 +      Left_Opnd                    : Node_Id;
3439 +      Right_Opnd                   : Node_Id)
3440 +      return Node_Id
3441 +   is
3442 +      N : constant Node_Id :=
3443 +            New_Node (N_In, Sloc);
3444 +   begin
3445 +      Set_Left_Opnd (N, Left_Opnd);
3446 +      Set_Right_Opnd (N, Right_Opnd);
3447 +      return N;
3448 +   end Make_In;
3449 +
3450 +   function Make_Not_In (Sloc : Source_Ptr;
3451 +      Left_Opnd                    : Node_Id;
3452 +      Right_Opnd                   : Node_Id)
3453 +      return Node_Id
3454 +   is
3455 +      N : constant Node_Id :=
3456 +            New_Node (N_Not_In, Sloc);
3457 +   begin
3458 +      Set_Left_Opnd (N, Left_Opnd);
3459 +      Set_Right_Opnd (N, Right_Opnd);
3460 +      return N;
3461 +   end Make_Not_In;
3462 +
3463 +   function Make_Op_And (Sloc : Source_Ptr;
3464 +      Left_Opnd                    : Node_Id;
3465 +      Right_Opnd                   : Node_Id)
3466 +      return Node_Id
3467 +   is
3468 +      N : constant Node_Id :=
3469 +            New_Node (N_Op_And, Sloc);
3470 +   begin
3471 +      Set_Left_Opnd (N, Left_Opnd);
3472 +      Set_Right_Opnd (N, Right_Opnd);
3473 +      Set_Chars (N, Name_Op_And);
3474 +      Set_Entity (N, Standard_Op_And);
3475 +      return N;
3476 +   end Make_Op_And;
3477 +
3478 +   function Make_Op_Or (Sloc : Source_Ptr;
3479 +      Left_Opnd                    : Node_Id;
3480 +      Right_Opnd                   : Node_Id)
3481 +      return Node_Id
3482 +   is
3483 +      N : constant Node_Id :=
3484 +            New_Node (N_Op_Or, Sloc);
3485 +   begin
3486 +      Set_Left_Opnd (N, Left_Opnd);
3487 +      Set_Right_Opnd (N, Right_Opnd);
3488 +      Set_Chars (N, Name_Op_Or);
3489 +      Set_Entity (N, Standard_Op_Or);
3490 +      return N;
3491 +   end Make_Op_Or;
3492 +
3493 +   function Make_Op_Xor (Sloc : Source_Ptr;
3494 +      Left_Opnd                    : Node_Id;
3495 +      Right_Opnd                   : Node_Id)
3496 +      return Node_Id
3497 +   is
3498 +      N : constant Node_Id :=
3499 +            New_Node (N_Op_Xor, Sloc);
3500 +   begin
3501 +      Set_Left_Opnd (N, Left_Opnd);
3502 +      Set_Right_Opnd (N, Right_Opnd);
3503 +      Set_Chars (N, Name_Op_Xor);
3504 +      Set_Entity (N, Standard_Op_Xor);
3505 +      return N;
3506 +   end Make_Op_Xor;
3507 +
3508 +   function Make_Op_Eq (Sloc : Source_Ptr;
3509 +      Left_Opnd                    : Node_Id;
3510 +      Right_Opnd                   : Node_Id)
3511 +      return Node_Id
3512 +   is
3513 +      N : constant Node_Id :=
3514 +            New_Node (N_Op_Eq, Sloc);
3515 +   begin
3516 +      Set_Left_Opnd (N, Left_Opnd);
3517 +      Set_Right_Opnd (N, Right_Opnd);
3518 +      Set_Chars (N, Name_Op_Eq);
3519 +      Set_Entity (N, Standard_Op_Eq);
3520 +      return N;
3521 +   end Make_Op_Eq;
3522 +
3523 +   function Make_Op_Ne (Sloc : Source_Ptr;
3524 +      Left_Opnd                    : Node_Id;
3525 +      Right_Opnd                   : Node_Id)
3526 +      return Node_Id
3527 +   is
3528 +      N : constant Node_Id :=
3529 +            New_Node (N_Op_Ne, Sloc);
3530 +   begin
3531 +      Set_Left_Opnd (N, Left_Opnd);
3532 +      Set_Right_Opnd (N, Right_Opnd);
3533 +      Set_Chars (N, Name_Op_Ne);
3534 +      Set_Entity (N, Standard_Op_Ne);
3535 +      return N;
3536 +   end Make_Op_Ne;
3537 +
3538 +   function Make_Op_Lt (Sloc : Source_Ptr;
3539 +      Left_Opnd                    : Node_Id;
3540 +      Right_Opnd                   : Node_Id)
3541 +      return Node_Id
3542 +   is
3543 +      N : constant Node_Id :=
3544 +            New_Node (N_Op_Lt, Sloc);
3545 +   begin
3546 +      Set_Left_Opnd (N, Left_Opnd);
3547 +      Set_Right_Opnd (N, Right_Opnd);
3548 +      Set_Chars (N, Name_Op_Lt);
3549 +      Set_Entity (N, Standard_Op_Lt);
3550 +      return N;
3551 +   end Make_Op_Lt;
3552 +
3553 +   function Make_Op_Le (Sloc : Source_Ptr;
3554 +      Left_Opnd                    : Node_Id;
3555 +      Right_Opnd                   : Node_Id)
3556 +      return Node_Id
3557 +   is
3558 +      N : constant Node_Id :=
3559 +            New_Node (N_Op_Le, Sloc);
3560 +   begin
3561 +      Set_Left_Opnd (N, Left_Opnd);
3562 +      Set_Right_Opnd (N, Right_Opnd);
3563 +      Set_Chars (N, Name_Op_Le);
3564 +      Set_Entity (N, Standard_Op_Le);
3565 +      return N;
3566 +   end Make_Op_Le;
3567 +
3568 +   function Make_Op_Gt (Sloc : Source_Ptr;
3569 +      Left_Opnd                    : Node_Id;
3570 +      Right_Opnd                   : Node_Id)
3571 +      return Node_Id
3572 +   is
3573 +      N : constant Node_Id :=
3574 +            New_Node (N_Op_Gt, Sloc);
3575 +   begin
3576 +      Set_Left_Opnd (N, Left_Opnd);
3577 +      Set_Right_Opnd (N, Right_Opnd);
3578 +      Set_Chars (N, Name_Op_Gt);
3579 +      Set_Entity (N, Standard_Op_Gt);
3580 +      return N;
3581 +   end Make_Op_Gt;
3582 +
3583 +   function Make_Op_Ge (Sloc : Source_Ptr;
3584 +      Left_Opnd                    : Node_Id;
3585 +      Right_Opnd                   : Node_Id)
3586 +      return Node_Id
3587 +   is
3588 +      N : constant Node_Id :=
3589 +            New_Node (N_Op_Ge, Sloc);
3590 +   begin
3591 +      Set_Left_Opnd (N, Left_Opnd);
3592 +      Set_Right_Opnd (N, Right_Opnd);
3593 +      Set_Chars (N, Name_Op_Ge);
3594 +      Set_Entity (N, Standard_Op_Ge);
3595 +      return N;
3596 +   end Make_Op_Ge;
3597 +
3598 +   function Make_Op_Add (Sloc : Source_Ptr;
3599 +      Left_Opnd                    : Node_Id;
3600 +      Right_Opnd                   : Node_Id)
3601 +      return Node_Id
3602 +   is
3603 +      N : constant Node_Id :=
3604 +            New_Node (N_Op_Add, Sloc);
3605 +   begin
3606 +      Set_Left_Opnd (N, Left_Opnd);
3607 +      Set_Right_Opnd (N, Right_Opnd);
3608 +      Set_Chars (N, Name_Op_Add);
3609 +      Set_Entity (N, Standard_Op_Add);
3610 +      return N;
3611 +   end Make_Op_Add;
3612 +
3613 +   function Make_Op_Subtract (Sloc : Source_Ptr;
3614 +      Left_Opnd                    : Node_Id;
3615 +      Right_Opnd                   : Node_Id)
3616 +      return Node_Id
3617 +   is
3618 +      N : constant Node_Id :=
3619 +            New_Node (N_Op_Subtract, Sloc);
3620 +   begin
3621 +      Set_Left_Opnd (N, Left_Opnd);
3622 +      Set_Right_Opnd (N, Right_Opnd);
3623 +      Set_Chars (N, Name_Op_Subtract);
3624 +      Set_Entity (N, Standard_Op_Subtract);
3625 +      return N;
3626 +   end Make_Op_Subtract;
3627 +
3628 +   function Make_Op_Concat (Sloc : Source_Ptr;
3629 +      Left_Opnd                    : Node_Id;
3630 +      Right_Opnd                   : Node_Id)
3631 +      return Node_Id
3632 +   is
3633 +      N : constant Node_Id :=
3634 +            New_Node (N_Op_Concat, Sloc);
3635 +   begin
3636 +      Set_Left_Opnd (N, Left_Opnd);
3637 +      Set_Right_Opnd (N, Right_Opnd);
3638 +      Set_Chars (N, Name_Op_Concat);
3639 +      Set_Entity (N, Standard_Op_Concat);
3640 +      return N;
3641 +   end Make_Op_Concat;
3642 +
3643 +   function Make_Op_Multiply (Sloc : Source_Ptr;
3644 +      Left_Opnd                    : Node_Id;
3645 +      Right_Opnd                   : Node_Id)
3646 +      return Node_Id
3647 +   is
3648 +      N : constant Node_Id :=
3649 +            New_Node (N_Op_Multiply, Sloc);
3650 +   begin
3651 +      Set_Left_Opnd (N, Left_Opnd);
3652 +      Set_Right_Opnd (N, Right_Opnd);
3653 +      Set_Chars (N, Name_Op_Multiply);
3654 +      Set_Entity (N, Standard_Op_Multiply);
3655 +      return N;
3656 +   end Make_Op_Multiply;
3657 +
3658 +   function Make_Op_Divide (Sloc : Source_Ptr;
3659 +      Left_Opnd                    : Node_Id;
3660 +      Right_Opnd                   : Node_Id)
3661 +      return Node_Id
3662 +   is
3663 +      N : constant Node_Id :=
3664 +            New_Node (N_Op_Divide, Sloc);
3665 +   begin
3666 +      Set_Left_Opnd (N, Left_Opnd);
3667 +      Set_Right_Opnd (N, Right_Opnd);
3668 +      Set_Chars (N, Name_Op_Divide);
3669 +      Set_Entity (N, Standard_Op_Divide);
3670 +      return N;
3671 +   end Make_Op_Divide;
3672 +
3673 +   function Make_Op_Mod (Sloc : Source_Ptr;
3674 +      Left_Opnd                    : Node_Id;
3675 +      Right_Opnd                   : Node_Id)
3676 +      return Node_Id
3677 +   is
3678 +      N : constant Node_Id :=
3679 +            New_Node (N_Op_Mod, Sloc);
3680 +   begin
3681 +      Set_Left_Opnd (N, Left_Opnd);
3682 +      Set_Right_Opnd (N, Right_Opnd);
3683 +      Set_Chars (N, Name_Op_Mod);
3684 +      Set_Entity (N, Standard_Op_Mod);
3685 +      return N;
3686 +   end Make_Op_Mod;
3687 +
3688 +   function Make_Op_Rem (Sloc : Source_Ptr;
3689 +      Left_Opnd                    : Node_Id;
3690 +      Right_Opnd                   : Node_Id)
3691 +      return Node_Id
3692 +   is
3693 +      N : constant Node_Id :=
3694 +            New_Node (N_Op_Rem, Sloc);
3695 +   begin
3696 +      Set_Left_Opnd (N, Left_Opnd);
3697 +      Set_Right_Opnd (N, Right_Opnd);
3698 +      Set_Chars (N, Name_Op_Rem);
3699 +      Set_Entity (N, Standard_Op_Rem);
3700 +      return N;
3701 +   end Make_Op_Rem;
3702 +
3703 +   function Make_Op_Expon (Sloc : Source_Ptr;
3704 +      Left_Opnd                    : Node_Id;
3705 +      Right_Opnd                   : Node_Id)
3706 +      return Node_Id
3707 +   is
3708 +      N : constant Node_Id :=
3709 +            New_Node (N_Op_Expon, Sloc);
3710 +   begin
3711 +      Set_Left_Opnd (N, Left_Opnd);
3712 +      Set_Right_Opnd (N, Right_Opnd);
3713 +      Set_Chars (N, Name_Op_Expon);
3714 +      Set_Entity (N, Standard_Op_Expon);
3715 +      return N;
3716 +   end Make_Op_Expon;
3717 +
3718 +   function Make_Op_Plus (Sloc : Source_Ptr;
3719 +      Right_Opnd                   : Node_Id)
3720 +      return Node_Id
3721 +   is
3722 +      N : constant Node_Id :=
3723 +            New_Node (N_Op_Plus, Sloc);
3724 +   begin
3725 +      Set_Right_Opnd (N, Right_Opnd);
3726 +      Set_Chars (N, Name_Op_Add);
3727 +      Set_Entity (N, Standard_Op_Plus);
3728 +      return N;
3729 +   end Make_Op_Plus;
3730 +
3731 +   function Make_Op_Minus (Sloc : Source_Ptr;
3732 +      Right_Opnd                   : Node_Id)
3733 +      return Node_Id
3734 +   is
3735 +      N : constant Node_Id :=
3736 +            New_Node (N_Op_Minus, Sloc);
3737 +   begin
3738 +      Set_Right_Opnd (N, Right_Opnd);
3739 +      Set_Chars (N, Name_Op_Subtract);
3740 +      Set_Entity (N, Standard_Op_Minus);
3741 +      return N;
3742 +   end Make_Op_Minus;
3743 +
3744 +   function Make_Op_Abs (Sloc : Source_Ptr;
3745 +      Right_Opnd                   : Node_Id)
3746 +      return Node_Id
3747 +   is
3748 +      N : constant Node_Id :=
3749 +            New_Node (N_Op_Abs, Sloc);
3750 +   begin
3751 +      Set_Right_Opnd (N, Right_Opnd);
3752 +      Set_Chars (N, Name_Op_Abs);
3753 +      Set_Entity (N, Standard_Op_Abs);
3754 +      return N;
3755 +   end Make_Op_Abs;
3756 +
3757 +   function Make_Op_Not (Sloc : Source_Ptr;
3758 +      Right_Opnd                   : Node_Id)
3759 +      return Node_Id
3760 +   is
3761 +      N : constant Node_Id :=
3762 +            New_Node (N_Op_Not, Sloc);
3763 +   begin
3764 +      Set_Right_Opnd (N, Right_Opnd);
3765 +      Set_Chars (N, Name_Op_Not);
3766 +      Set_Entity (N, Standard_Op_Not);
3767 +      return N;
3768 +   end Make_Op_Not;
3769 +
3770 +   function Make_Type_Conversion (Sloc : Source_Ptr;
3771 +      Subtype_Mark                 : Node_Id;
3772 +      Expression                   : Node_Id)
3773 +      return Node_Id
3774 +   is
3775 +      N : constant Node_Id :=
3776 +            New_Node (N_Type_Conversion, Sloc);
3777 +   begin
3778 +      Set_Subtype_Mark (N, Subtype_Mark);
3779 +      Set_Expression (N, Expression);
3780 +      return N;
3781 +   end Make_Type_Conversion;
3782 +
3783 +   function Make_Qualified_Expression (Sloc : Source_Ptr;
3784 +      Subtype_Mark                 : Node_Id;
3785 +      Expression                   : Node_Id)
3786 +      return Node_Id
3787 +   is
3788 +      N : constant Node_Id :=
3789 +            New_Node (N_Qualified_Expression, Sloc);
3790 +   begin
3791 +      Set_Subtype_Mark (N, Subtype_Mark);
3792 +      Set_Expression (N, Expression);
3793 +      return N;
3794 +   end Make_Qualified_Expression;
3795 +
3796 +   function Make_Allocator (Sloc : Source_Ptr;
3797 +      Expression                   : Node_Id)
3798 +      return Node_Id
3799 +   is
3800 +      N : constant Node_Id :=
3801 +            New_Node (N_Allocator, Sloc);
3802 +   begin
3803 +      Set_Expression (N, Expression);
3804 +      return N;
3805 +   end Make_Allocator;
3806 +
3807 +   function Make_Null_Statement (Sloc : Source_Ptr)
3808 +      return Node_Id
3809 +   is
3810 +      N : constant Node_Id :=
3811 +            New_Node (N_Null_Statement, Sloc);
3812 +   begin
3813 +      return N;
3814 +   end Make_Null_Statement;
3815 +
3816 +   function Make_Label (Sloc : Source_Ptr;
3817 +      Identifier                   : Node_Id)
3818 +      return Node_Id
3819 +   is
3820 +      N : constant Node_Id :=
3821 +            New_Node (N_Label, Sloc);
3822 +   begin
3823 +      Set_Identifier (N, Identifier);
3824 +      return N;
3825 +   end Make_Label;
3826 +
3827 +   function Make_Assignment_Statement (Sloc : Source_Ptr;
3828 +      Name                         : Node_Id;
3829 +      Expression                   : Node_Id)
3830 +      return Node_Id
3831 +   is
3832 +      N : constant Node_Id :=
3833 +            New_Node (N_Assignment_Statement, Sloc);
3834 +   begin
3835 +      Set_Name (N, Name);
3836 +      Set_Expression (N, Expression);
3837 +      return N;
3838 +   end Make_Assignment_Statement;
3839 +
3840 +   function Make_If_Statement (Sloc : Source_Ptr;
3841 +      Condition                    : Node_Id;
3842 +      Then_Statements              : List_Id;
3843 +      Elsif_Parts                  : List_Id := No_List;
3844 +      Else_Statements              : List_Id := No_List;
3845 +      End_Span                     : Uint := No_Uint)
3846 +      return Node_Id
3847 +   is
3848 +      N : constant Node_Id :=
3849 +            New_Node (N_If_Statement, Sloc);
3850 +   begin
3851 +      Set_Condition (N, Condition);
3852 +      Set_Then_Statements (N, Then_Statements);
3853 +      Set_Elsif_Parts (N, Elsif_Parts);
3854 +      Set_Else_Statements (N, Else_Statements);
3855 +      Set_End_Span (N, End_Span);
3856 +      return N;
3857 +   end Make_If_Statement;
3858 +
3859 +   function Make_Elsif_Part (Sloc : Source_Ptr;
3860 +      Condition                    : Node_Id;
3861 +      Then_Statements              : List_Id)
3862 +      return Node_Id
3863 +   is
3864 +      N : constant Node_Id :=
3865 +            New_Node (N_Elsif_Part, Sloc);
3866 +   begin
3867 +      Set_Condition (N, Condition);
3868 +      Set_Then_Statements (N, Then_Statements);
3869 +      return N;
3870 +   end Make_Elsif_Part;
3871 +
3872 +   function Make_Case_Statement (Sloc : Source_Ptr;
3873 +      Expression                   : Node_Id;
3874 +      Alternatives                 : List_Id;
3875 +      End_Span                     : Uint := No_Uint)
3876 +      return Node_Id
3877 +   is
3878 +      N : constant Node_Id :=
3879 +            New_Node (N_Case_Statement, Sloc);
3880 +   begin
3881 +      Set_Expression (N, Expression);
3882 +      Set_Alternatives (N, Alternatives);
3883 +      Set_End_Span (N, End_Span);
3884 +      return N;
3885 +   end Make_Case_Statement;
3886 +
3887 +   function Make_Case_Statement_Alternative (Sloc : Source_Ptr;
3888 +      Discrete_Choices             : List_Id;
3889 +      Statements                   : List_Id)
3890 +      return Node_Id
3891 +   is
3892 +      N : constant Node_Id :=
3893 +            New_Node (N_Case_Statement_Alternative, Sloc);
3894 +   begin
3895 +      Set_Discrete_Choices (N, Discrete_Choices);
3896 +      Set_Statements (N, Statements);
3897 +      return N;
3898 +   end Make_Case_Statement_Alternative;
3899 +
3900 +   function Make_Loop_Statement (Sloc : Source_Ptr;
3901 +      Identifier                   : Node_Id := Empty;
3902 +      Iteration_Scheme             : Node_Id := Empty;
3903 +      Statements                   : List_Id;
3904 +      End_Label                    : Node_Id;
3905 +      Has_Created_Identifier       : Boolean := False;
3906 +      Is_Null_Loop                 : Boolean := False)
3907 +      return Node_Id
3908 +   is
3909 +      N : constant Node_Id :=
3910 +            New_Node (N_Loop_Statement, Sloc);
3911 +   begin
3912 +      Set_Identifier (N, Identifier);
3913 +      Set_Iteration_Scheme (N, Iteration_Scheme);
3914 +      Set_Statements (N, Statements);
3915 +      Set_End_Label (N, End_Label);
3916 +      Set_Has_Created_Identifier (N, Has_Created_Identifier);
3917 +      Set_Is_Null_Loop (N, Is_Null_Loop);
3918 +      return N;
3919 +   end Make_Loop_Statement;
3920 +
3921 +   function Make_Iteration_Scheme (Sloc : Source_Ptr;
3922 +      Condition                    : Node_Id := Empty;
3923 +      Loop_Parameter_Specification : Node_Id := Empty)
3924 +      return Node_Id
3925 +   is
3926 +      N : constant Node_Id :=
3927 +            New_Node (N_Iteration_Scheme, Sloc);
3928 +   begin
3929 +      Set_Condition (N, Condition);
3930 +      Set_Loop_Parameter_Specification
3931 +        (N, Loop_Parameter_Specification);
3932 +      return N;
3933 +   end Make_Iteration_Scheme;
3934 +
3935 +   function Make_Loop_Parameter_Specification (Sloc : Source_Ptr;
3936 +      Defining_Identifier          : Node_Id;
3937 +      Reverse_Present              : Boolean := False;
3938 +      Discrete_Subtype_Definition  : Node_Id)
3939 +      return Node_Id
3940 +   is
3941 +      N : constant Node_Id :=
3942 +            New_Node (N_Loop_Parameter_Specification, Sloc);
3943 +   begin
3944 +      Set_Defining_Identifier (N, Defining_Identifier);
3945 +      Set_Reverse_Present (N, Reverse_Present);
3946 +      Set_Discrete_Subtype_Definition (N, Discrete_Subtype_Definition);
3947 +      return N;
3948 +   end Make_Loop_Parameter_Specification;
3949 +
3950 +   function Make_Block_Statement (Sloc : Source_Ptr;
3951 +      Identifier                   : Node_Id := Empty;
3952 +      Declarations                 : List_Id := No_List;
3953 +      Handled_Statement_Sequence   : Node_Id;
3954 +      Has_Created_Identifier       : Boolean := False;
3955 +      Is_Task_Allocation_Block     : Boolean := False;
3956 +      Is_Asynchronous_Call_Block   : Boolean := False)
3957 +      return Node_Id
3958 +   is
3959 +      N : constant Node_Id :=
3960 +            New_Node (N_Block_Statement, Sloc);
3961 +   begin
3962 +      Set_Identifier (N, Identifier);
3963 +      Set_Declarations (N, Declarations);
3964 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
3965 +      Set_Has_Created_Identifier (N, Has_Created_Identifier);
3966 +      Set_Is_Task_Allocation_Block (N, Is_Task_Allocation_Block);
3967 +      Set_Is_Asynchronous_Call_Block (N, Is_Asynchronous_Call_Block);
3968 +      return N;
3969 +   end Make_Block_Statement;
3970 +
3971 +   function Make_Exit_Statement (Sloc : Source_Ptr;
3972 +      Name                         : Node_Id := Empty;
3973 +      Condition                    : Node_Id := Empty)
3974 +      return Node_Id
3975 +   is
3976 +      N : constant Node_Id :=
3977 +            New_Node (N_Exit_Statement, Sloc);
3978 +   begin
3979 +      Set_Name (N, Name);
3980 +      Set_Condition (N, Condition);
3981 +      return N;
3982 +   end Make_Exit_Statement;
3983 +
3984 +   function Make_Goto_Statement (Sloc : Source_Ptr;
3985 +      Name                         : Node_Id)
3986 +      return Node_Id
3987 +   is
3988 +      N : constant Node_Id :=
3989 +            New_Node (N_Goto_Statement, Sloc);
3990 +   begin
3991 +      Set_Name (N, Name);
3992 +      return N;
3993 +   end Make_Goto_Statement;
3994 +
3995 +   function Make_Subprogram_Declaration (Sloc : Source_Ptr;
3996 +      Specification                : Node_Id)
3997 +      return Node_Id
3998 +   is
3999 +      N : constant Node_Id :=
4000 +            New_Node (N_Subprogram_Declaration, Sloc);
4001 +   begin
4002 +      Set_Specification (N, Specification);
4003 +      return N;
4004 +   end Make_Subprogram_Declaration;
4005 +
4006 +   function Make_Abstract_Subprogram_Declaration (Sloc : Source_Ptr;
4007 +      Specification                : Node_Id)
4008 +      return Node_Id
4009 +   is
4010 +      N : constant Node_Id :=
4011 +            New_Node (N_Abstract_Subprogram_Declaration, Sloc);
4012 +   begin
4013 +      Set_Specification (N, Specification);
4014 +      return N;
4015 +   end Make_Abstract_Subprogram_Declaration;
4016 +
4017 +   function Make_Function_Specification (Sloc : Source_Ptr;
4018 +      Defining_Unit_Name           : Node_Id;
4019 +      Parameter_Specifications     : List_Id := No_List;
4020 +      Subtype_Mark                 : Node_Id)
4021 +      return Node_Id
4022 +   is
4023 +      N : constant Node_Id :=
4024 +            New_Node (N_Function_Specification, Sloc);
4025 +   begin
4026 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4027 +      Set_Parameter_Specifications (N, Parameter_Specifications);
4028 +      Set_Subtype_Mark (N, Subtype_Mark);
4029 +      return N;
4030 +   end Make_Function_Specification;
4031 +
4032 +   function Make_Procedure_Specification (Sloc : Source_Ptr;
4033 +      Defining_Unit_Name           : Node_Id;
4034 +      Parameter_Specifications     : List_Id := No_List)
4035 +      return Node_Id
4036 +   is
4037 +      N : constant Node_Id :=
4038 +            New_Node (N_Procedure_Specification, Sloc);
4039 +   begin
4040 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4041 +      Set_Parameter_Specifications (N, Parameter_Specifications);
4042 +      return N;
4043 +   end Make_Procedure_Specification;
4044 +
4045 +   function Make_Designator (Sloc : Source_Ptr;
4046 +      Name                         : Node_Id;
4047 +      Identifier                   : Node_Id)
4048 +      return Node_Id
4049 +   is
4050 +      N : constant Node_Id :=
4051 +            New_Node (N_Designator, Sloc);
4052 +   begin
4053 +      Set_Name (N, Name);
4054 +      Set_Identifier (N, Identifier);
4055 +      return N;
4056 +   end Make_Designator;
4057 +
4058 +   function Make_Defining_Program_Unit_Name (Sloc : Source_Ptr;
4059 +      Name                         : Node_Id;
4060 +      Defining_Identifier          : Node_Id)
4061 +      return Node_Id
4062 +   is
4063 +      N : constant Node_Id :=
4064 +            New_Node (N_Defining_Program_Unit_Name, Sloc);
4065 +   begin
4066 +      Set_Name (N, Name);
4067 +      Set_Defining_Identifier (N, Defining_Identifier);
4068 +      return N;
4069 +   end Make_Defining_Program_Unit_Name;
4070 +
4071 +   function Make_Operator_Symbol (Sloc : Source_Ptr;
4072 +      Chars                        : Name_Id;
4073 +      Strval                       : String_Id)
4074 +      return Node_Id
4075 +   is
4076 +      N : constant Node_Id :=
4077 +            New_Node (N_Operator_Symbol, Sloc);
4078 +   begin
4079 +      Set_Chars (N, Chars);
4080 +      Set_Strval (N, Strval);
4081 +      return N;
4082 +   end Make_Operator_Symbol;
4083 +
4084 +   function Make_Defining_Operator_Symbol (Sloc : Source_Ptr;
4085 +      Chars                        : Name_Id)
4086 +      return Node_Id
4087 +   is
4088 +      N : constant Node_Id :=
4089 +            New_Entity (N_Defining_Operator_Symbol, Sloc);
4090 +   begin
4091 +      Set_Chars (N, Chars);
4092 +      return N;
4093 +   end Make_Defining_Operator_Symbol;
4094 +
4095 +   function Make_Parameter_Specification (Sloc : Source_Ptr;
4096 +      Defining_Identifier          : Node_Id;
4097 +      In_Present                   : Boolean := False;
4098 +      Out_Present                  : Boolean := False;
4099 +      Parameter_Type               : Node_Id;
4100 +      Expression                   : Node_Id := Empty)
4101 +      return Node_Id
4102 +   is
4103 +      N : constant Node_Id :=
4104 +            New_Node (N_Parameter_Specification, Sloc);
4105 +   begin
4106 +      Set_Defining_Identifier (N, Defining_Identifier);
4107 +      Set_In_Present (N, In_Present);
4108 +      Set_Out_Present (N, Out_Present);
4109 +      Set_Parameter_Type (N, Parameter_Type);
4110 +      Set_Expression (N, Expression);
4111 +      return N;
4112 +   end Make_Parameter_Specification;
4113 +
4114 +   function Make_Subprogram_Body (Sloc : Source_Ptr;
4115 +      Specification                : Node_Id;
4116 +      Declarations                 : List_Id;
4117 +      Handled_Statement_Sequence   : Node_Id;
4118 +      Bad_Is_Detected              : Boolean := False)
4119 +      return Node_Id
4120 +   is
4121 +      N : constant Node_Id :=
4122 +            New_Node (N_Subprogram_Body, Sloc);
4123 +   begin
4124 +      Set_Specification (N, Specification);
4125 +      Set_Declarations (N, Declarations);
4126 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
4127 +      Set_Bad_Is_Detected (N, Bad_Is_Detected);
4128 +      return N;
4129 +   end Make_Subprogram_Body;
4130 +
4131 +   function Make_Procedure_Call_Statement (Sloc : Source_Ptr;
4132 +      Name                         : Node_Id;
4133 +      Parameter_Associations       : List_Id := No_List)
4134 +      return Node_Id
4135 +   is
4136 +      N : constant Node_Id :=
4137 +            New_Node (N_Procedure_Call_Statement, Sloc);
4138 +   begin
4139 +      Set_Name (N, Name);
4140 +      Set_Parameter_Associations (N, Parameter_Associations);
4141 +      return N;
4142 +   end Make_Procedure_Call_Statement;
4143 +
4144 +   function Make_Function_Call (Sloc : Source_Ptr;
4145 +      Name                         : Node_Id;
4146 +      Parameter_Associations       : List_Id := No_List)
4147 +      return Node_Id
4148 +   is
4149 +      N : constant Node_Id :=
4150 +            New_Node (N_Function_Call, Sloc);
4151 +   begin
4152 +      Set_Name (N, Name);
4153 +      Set_Parameter_Associations (N, Parameter_Associations);
4154 +      return N;
4155 +   end Make_Function_Call;
4156 +
4157 +   function Make_Parameter_Association (Sloc : Source_Ptr;
4158 +      Selector_Name                : Node_Id;
4159 +      Explicit_Actual_Parameter    : Node_Id)
4160 +      return Node_Id
4161 +   is
4162 +      N : constant Node_Id :=
4163 +            New_Node (N_Parameter_Association, Sloc);
4164 +   begin
4165 +      Set_Selector_Name (N, Selector_Name);
4166 +      Set_Explicit_Actual_Parameter (N, Explicit_Actual_Parameter);
4167 +      return N;
4168 +   end Make_Parameter_Association;
4169 +
4170 +   function Make_Return_Statement (Sloc : Source_Ptr;
4171 +      Expression                   : Node_Id := Empty)
4172 +      return Node_Id
4173 +   is
4174 +      N : constant Node_Id :=
4175 +            New_Node (N_Return_Statement, Sloc);
4176 +   begin
4177 +      Set_Expression (N, Expression);
4178 +      return N;
4179 +   end Make_Return_Statement;
4180 +
4181 +   function Make_Package_Declaration (Sloc : Source_Ptr;
4182 +      Specification                : Node_Id)
4183 +      return Node_Id
4184 +   is
4185 +      N : constant Node_Id :=
4186 +            New_Node (N_Package_Declaration, Sloc);
4187 +   begin
4188 +      Set_Specification (N, Specification);
4189 +      return N;
4190 +   end Make_Package_Declaration;
4191 +
4192 +   function Make_Package_Specification (Sloc : Source_Ptr;
4193 +      Defining_Unit_Name           : Node_Id;
4194 +      Visible_Declarations         : List_Id;
4195 +      Private_Declarations         : List_Id := No_List;
4196 +      End_Label                    : Node_Id)
4197 +      return Node_Id
4198 +   is
4199 +      N : constant Node_Id :=
4200 +            New_Node (N_Package_Specification, Sloc);
4201 +   begin
4202 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4203 +      Set_Visible_Declarations (N, Visible_Declarations);
4204 +      Set_Private_Declarations (N, Private_Declarations);
4205 +      Set_End_Label (N, End_Label);
4206 +      return N;
4207 +   end Make_Package_Specification;
4208 +
4209 +   function Make_Package_Body (Sloc : Source_Ptr;
4210 +      Defining_Unit_Name           : Node_Id;
4211 +      Declarations                 : List_Id;
4212 +      Handled_Statement_Sequence   : Node_Id := Empty)
4213 +      return Node_Id
4214 +   is
4215 +      N : constant Node_Id :=
4216 +            New_Node (N_Package_Body, Sloc);
4217 +   begin
4218 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4219 +      Set_Declarations (N, Declarations);
4220 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
4221 +      return N;
4222 +   end Make_Package_Body;
4223 +
4224 +   function Make_Private_Type_Declaration (Sloc : Source_Ptr;
4225 +      Defining_Identifier          : Node_Id;
4226 +      Discriminant_Specifications  : List_Id := No_List;
4227 +      Unknown_Discriminants_Present : Boolean := False;
4228 +      Abstract_Present             : Boolean := False;
4229 +      Tagged_Present               : Boolean := False;
4230 +      Limited_Present              : Boolean := False)
4231 +      return Node_Id
4232 +   is
4233 +      N : constant Node_Id :=
4234 +            New_Node (N_Private_Type_Declaration, Sloc);
4235 +   begin
4236 +      Set_Defining_Identifier (N, Defining_Identifier);
4237 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
4238 +      Set_Unknown_Discriminants_Present
4239 +        (N, Unknown_Discriminants_Present);
4240 +      Set_Abstract_Present (N, Abstract_Present);
4241 +      Set_Tagged_Present (N, Tagged_Present);
4242 +      Set_Limited_Present (N, Limited_Present);
4243 +      return N;
4244 +   end Make_Private_Type_Declaration;
4245 +
4246 +   function Make_Private_Extension_Declaration (Sloc : Source_Ptr;
4247 +      Defining_Identifier          : Node_Id;
4248 +      Discriminant_Specifications  : List_Id := No_List;
4249 +      Unknown_Discriminants_Present : Boolean := False;
4250 +      Abstract_Present             : Boolean := False;
4251 +      Subtype_Indication           : Node_Id)
4252 +      return Node_Id
4253 +   is
4254 +      N : constant Node_Id :=
4255 +            New_Node (N_Private_Extension_Declaration, Sloc);
4256 +   begin
4257 +      Set_Defining_Identifier (N, Defining_Identifier);
4258 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
4259 +      Set_Unknown_Discriminants_Present
4260 +        (N, Unknown_Discriminants_Present);
4261 +      Set_Abstract_Present (N, Abstract_Present);
4262 +      Set_Subtype_Indication (N, Subtype_Indication);
4263 +      return N;
4264 +   end Make_Private_Extension_Declaration;
4265 +
4266 +   function Make_Use_Package_Clause (Sloc : Source_Ptr;
4267 +      Names                        : List_Id)
4268 +      return Node_Id
4269 +   is
4270 +      N : constant Node_Id :=
4271 +            New_Node (N_Use_Package_Clause, Sloc);
4272 +   begin
4273 +      Set_Names (N, Names);
4274 +      return N;
4275 +   end Make_Use_Package_Clause;
4276 +
4277 +   function Make_Use_Type_Clause (Sloc : Source_Ptr;
4278 +      Subtype_Marks                : List_Id)
4279 +      return Node_Id
4280 +   is
4281 +      N : constant Node_Id :=
4282 +            New_Node (N_Use_Type_Clause, Sloc);
4283 +   begin
4284 +      Set_Subtype_Marks (N, Subtype_Marks);
4285 +      return N;
4286 +   end Make_Use_Type_Clause;
4287 +
4288 +   function Make_Object_Renaming_Declaration (Sloc : Source_Ptr;
4289 +      Defining_Identifier          : Node_Id;
4290 +      Subtype_Mark                 : Node_Id;
4291 +      Name                         : Node_Id)
4292 +      return Node_Id
4293 +   is
4294 +      N : constant Node_Id :=
4295 +            New_Node (N_Object_Renaming_Declaration, Sloc);
4296 +   begin
4297 +      Set_Defining_Identifier (N, Defining_Identifier);
4298 +      Set_Subtype_Mark (N, Subtype_Mark);
4299 +      Set_Name (N, Name);
4300 +      return N;
4301 +   end Make_Object_Renaming_Declaration;
4302 +
4303 +   function Make_Exception_Renaming_Declaration (Sloc : Source_Ptr;
4304 +      Defining_Identifier          : Node_Id;
4305 +      Name                         : Node_Id)
4306 +      return Node_Id
4307 +   is
4308 +      N : constant Node_Id :=
4309 +            New_Node (N_Exception_Renaming_Declaration, Sloc);
4310 +   begin
4311 +      Set_Defining_Identifier (N, Defining_Identifier);
4312 +      Set_Name (N, Name);
4313 +      return N;
4314 +   end Make_Exception_Renaming_Declaration;
4315 +
4316 +   function Make_Package_Renaming_Declaration (Sloc : Source_Ptr;
4317 +      Defining_Unit_Name           : Node_Id;
4318 +      Name                         : Node_Id)
4319 +      return Node_Id
4320 +   is
4321 +      N : constant Node_Id :=
4322 +            New_Node (N_Package_Renaming_Declaration, Sloc);
4323 +   begin
4324 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4325 +      Set_Name (N, Name);
4326 +      return N;
4327 +   end Make_Package_Renaming_Declaration;
4328 +
4329 +   function Make_Subprogram_Renaming_Declaration (Sloc : Source_Ptr;
4330 +      Specification                : Node_Id;
4331 +      Name                         : Node_Id)
4332 +      return Node_Id
4333 +   is
4334 +      N : constant Node_Id :=
4335 +            New_Node (N_Subprogram_Renaming_Declaration, Sloc);
4336 +   begin
4337 +      Set_Specification (N, Specification);
4338 +      Set_Name (N, Name);
4339 +      return N;
4340 +   end Make_Subprogram_Renaming_Declaration;
4341 +
4342 +   function Make_Generic_Package_Renaming_Declaration (Sloc : Source_Ptr;
4343 +      Defining_Unit_Name           : Node_Id;
4344 +      Name                         : Node_Id)
4345 +      return Node_Id
4346 +   is
4347 +      N : constant Node_Id :=
4348 +            New_Node (N_Generic_Package_Renaming_Declaration, Sloc);
4349 +   begin
4350 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4351 +      Set_Name (N, Name);
4352 +      return N;
4353 +   end Make_Generic_Package_Renaming_Declaration;
4354 +
4355 +   function Make_Generic_Procedure_Renaming_Declaration (Sloc : Source_Ptr;
4356 +      Defining_Unit_Name           : Node_Id;
4357 +      Name                         : Node_Id)
4358 +      return Node_Id
4359 +   is
4360 +      N : constant Node_Id :=
4361 +            New_Node (N_Generic_Procedure_Renaming_Declaration, Sloc);
4362 +   begin
4363 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4364 +      Set_Name (N, Name);
4365 +      return N;
4366 +   end Make_Generic_Procedure_Renaming_Declaration;
4367 +
4368 +   function Make_Generic_Function_Renaming_Declaration (Sloc : Source_Ptr;
4369 +      Defining_Unit_Name           : Node_Id;
4370 +      Name                         : Node_Id)
4371 +      return Node_Id
4372 +   is
4373 +      N : constant Node_Id :=
4374 +            New_Node (N_Generic_Function_Renaming_Declaration, Sloc);
4375 +   begin
4376 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4377 +      Set_Name (N, Name);
4378 +      return N;
4379 +   end Make_Generic_Function_Renaming_Declaration;
4380 +
4381 +   function Make_Task_Type_Declaration (Sloc : Source_Ptr;
4382 +      Defining_Identifier          : Node_Id;
4383 +      Discriminant_Specifications  : List_Id := No_List;
4384 +      Task_Definition              : Node_Id := Empty)
4385 +      return Node_Id
4386 +   is
4387 +      N : constant Node_Id :=
4388 +            New_Node (N_Task_Type_Declaration, Sloc);
4389 +   begin
4390 +      Set_Defining_Identifier (N, Defining_Identifier);
4391 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
4392 +      Set_Task_Definition (N, Task_Definition);
4393 +      return N;
4394 +   end Make_Task_Type_Declaration;
4395 +
4396 +   function Make_Single_Task_Declaration (Sloc : Source_Ptr;
4397 +      Defining_Identifier          : Node_Id;
4398 +      Task_Definition              : Node_Id := Empty)
4399 +      return Node_Id
4400 +   is
4401 +      N : constant Node_Id :=
4402 +            New_Node (N_Single_Task_Declaration, Sloc);
4403 +   begin
4404 +      Set_Defining_Identifier (N, Defining_Identifier);
4405 +      Set_Task_Definition (N, Task_Definition);
4406 +      return N;
4407 +   end Make_Single_Task_Declaration;
4408 +
4409 +   function Make_Task_Definition (Sloc : Source_Ptr;
4410 +      Visible_Declarations         : List_Id;
4411 +      Private_Declarations         : List_Id := No_List;
4412 +      End_Label                    : Node_Id)
4413 +      return Node_Id
4414 +   is
4415 +      N : constant Node_Id :=
4416 +            New_Node (N_Task_Definition, Sloc);
4417 +   begin
4418 +      Set_Visible_Declarations (N, Visible_Declarations);
4419 +      Set_Private_Declarations (N, Private_Declarations);
4420 +      Set_End_Label (N, End_Label);
4421 +      return N;
4422 +   end Make_Task_Definition;
4423 +
4424 +   function Make_Task_Body (Sloc : Source_Ptr;
4425 +      Defining_Identifier          : Node_Id;
4426 +      Declarations                 : List_Id;
4427 +      Handled_Statement_Sequence   : Node_Id)
4428 +      return Node_Id
4429 +   is
4430 +      N : constant Node_Id :=
4431 +            New_Node (N_Task_Body, Sloc);
4432 +   begin
4433 +      Set_Defining_Identifier (N, Defining_Identifier);
4434 +      Set_Declarations (N, Declarations);
4435 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
4436 +      return N;
4437 +   end Make_Task_Body;
4438 +
4439 +   function Make_Protected_Type_Declaration (Sloc : Source_Ptr;
4440 +      Defining_Identifier          : Node_Id;
4441 +      Discriminant_Specifications  : List_Id := No_List;
4442 +      Protected_Definition         : Node_Id)
4443 +      return Node_Id
4444 +   is
4445 +      N : constant Node_Id :=
4446 +            New_Node (N_Protected_Type_Declaration, Sloc);
4447 +   begin
4448 +      Set_Defining_Identifier (N, Defining_Identifier);
4449 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
4450 +      Set_Protected_Definition (N, Protected_Definition);
4451 +      return N;
4452 +   end Make_Protected_Type_Declaration;
4453 +
4454 +   function Make_Single_Protected_Declaration (Sloc : Source_Ptr;
4455 +      Defining_Identifier          : Node_Id;
4456 +      Protected_Definition         : Node_Id)
4457 +      return Node_Id
4458 +   is
4459 +      N : constant Node_Id :=
4460 +            New_Node (N_Single_Protected_Declaration, Sloc);
4461 +   begin
4462 +      Set_Defining_Identifier (N, Defining_Identifier);
4463 +      Set_Protected_Definition (N, Protected_Definition);
4464 +      return N;
4465 +   end Make_Single_Protected_Declaration;
4466 +
4467 +   function Make_Protected_Definition (Sloc : Source_Ptr;
4468 +      Visible_Declarations         : List_Id;
4469 +      Private_Declarations         : List_Id := No_List;
4470 +      End_Label                    : Node_Id)
4471 +      return Node_Id
4472 +   is
4473 +      N : constant Node_Id :=
4474 +            New_Node (N_Protected_Definition, Sloc);
4475 +   begin
4476 +      Set_Visible_Declarations (N, Visible_Declarations);
4477 +      Set_Private_Declarations (N, Private_Declarations);
4478 +      Set_End_Label (N, End_Label);
4479 +      return N;
4480 +   end Make_Protected_Definition;
4481 +
4482 +   function Make_Protected_Body (Sloc : Source_Ptr;
4483 +      Defining_Identifier          : Node_Id;
4484 +      Declarations                 : List_Id;
4485 +      End_Label                    : Node_Id)
4486 +      return Node_Id
4487 +   is
4488 +      N : constant Node_Id :=
4489 +            New_Node (N_Protected_Body, Sloc);
4490 +   begin
4491 +      Set_Defining_Identifier (N, Defining_Identifier);
4492 +      Set_Declarations (N, Declarations);
4493 +      Set_End_Label (N, End_Label);
4494 +      return N;
4495 +   end Make_Protected_Body;
4496 +
4497 +   function Make_Entry_Declaration (Sloc : Source_Ptr;
4498 +      Defining_Identifier          : Node_Id;
4499 +      Discrete_Subtype_Definition  : Node_Id := Empty;
4500 +      Parameter_Specifications     : List_Id := No_List)
4501 +      return Node_Id
4502 +   is
4503 +      N : constant Node_Id :=
4504 +            New_Node (N_Entry_Declaration, Sloc);
4505 +   begin
4506 +      Set_Defining_Identifier (N, Defining_Identifier);
4507 +      Set_Discrete_Subtype_Definition (N, Discrete_Subtype_Definition);
4508 +      Set_Parameter_Specifications (N, Parameter_Specifications);
4509 +      return N;
4510 +   end Make_Entry_Declaration;
4511 +
4512 +   function Make_Accept_Statement (Sloc : Source_Ptr;
4513 +      Entry_Direct_Name            : Node_Id;
4514 +      Entry_Index                  : Node_Id := Empty;
4515 +      Parameter_Specifications     : List_Id := No_List;
4516 +      Handled_Statement_Sequence   : Node_Id;
4517 +      Declarations                 : List_Id := No_List)
4518 +      return Node_Id
4519 +   is
4520 +      N : constant Node_Id :=
4521 +            New_Node (N_Accept_Statement, Sloc);
4522 +   begin
4523 +      Set_Entry_Direct_Name (N, Entry_Direct_Name);
4524 +      Set_Entry_Index (N, Entry_Index);
4525 +      Set_Parameter_Specifications (N, Parameter_Specifications);
4526 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
4527 +      Set_Declarations (N, Declarations);
4528 +      return N;
4529 +   end Make_Accept_Statement;
4530 +
4531 +   function Make_Entry_Body (Sloc : Source_Ptr;
4532 +      Defining_Identifier          : Node_Id;
4533 +      Entry_Body_Formal_Part       : Node_Id;
4534 +      Declarations                 : List_Id;
4535 +      Handled_Statement_Sequence   : Node_Id)
4536 +      return Node_Id
4537 +   is
4538 +      N : constant Node_Id :=
4539 +            New_Node (N_Entry_Body, Sloc);
4540 +   begin
4541 +      Set_Defining_Identifier (N, Defining_Identifier);
4542 +      Set_Entry_Body_Formal_Part (N, Entry_Body_Formal_Part);
4543 +      Set_Declarations (N, Declarations);
4544 +      Set_Handled_Statement_Sequence (N, Handled_Statement_Sequence);
4545 +      return N;
4546 +   end Make_Entry_Body;
4547 +
4548 +   function Make_Entry_Body_Formal_Part (Sloc : Source_Ptr;
4549 +      Entry_Index_Specification    : Node_Id := Empty;
4550 +      Parameter_Specifications     : List_Id := No_List;
4551 +      Condition                    : Node_Id)
4552 +      return Node_Id
4553 +   is
4554 +      N : constant Node_Id :=
4555 +            New_Node (N_Entry_Body_Formal_Part, Sloc);
4556 +   begin
4557 +      Set_Entry_Index_Specification (N, Entry_Index_Specification);
4558 +      Set_Parameter_Specifications (N, Parameter_Specifications);
4559 +      Set_Condition (N, Condition);
4560 +      return N;
4561 +   end Make_Entry_Body_Formal_Part;
4562 +
4563 +   function Make_Entry_Index_Specification (Sloc : Source_Ptr;
4564 +      Defining_Identifier          : Node_Id;
4565 +      Discrete_Subtype_Definition  : Node_Id)
4566 +      return Node_Id
4567 +   is
4568 +      N : constant Node_Id :=
4569 +            New_Node (N_Entry_Index_Specification, Sloc);
4570 +   begin
4571 +      Set_Defining_Identifier (N, Defining_Identifier);
4572 +      Set_Discrete_Subtype_Definition (N, Discrete_Subtype_Definition);
4573 +      return N;
4574 +   end Make_Entry_Index_Specification;
4575 +
4576 +   function Make_Entry_Call_Statement (Sloc : Source_Ptr;
4577 +      Name                         : Node_Id;
4578 +      Parameter_Associations       : List_Id := No_List)
4579 +      return Node_Id
4580 +   is
4581 +      N : constant Node_Id :=
4582 +            New_Node (N_Entry_Call_Statement, Sloc);
4583 +   begin
4584 +      Set_Name (N, Name);
4585 +      Set_Parameter_Associations (N, Parameter_Associations);
4586 +      return N;
4587 +   end Make_Entry_Call_Statement;
4588 +
4589 +   function Make_Requeue_Statement (Sloc : Source_Ptr;
4590 +      Name                         : Node_Id;
4591 +      Abort_Present                : Boolean := False)
4592 +      return Node_Id
4593 +   is
4594 +      N : constant Node_Id :=
4595 +            New_Node (N_Requeue_Statement, Sloc);
4596 +   begin
4597 +      Set_Name (N, Name);
4598 +      Set_Abort_Present (N, Abort_Present);
4599 +      return N;
4600 +   end Make_Requeue_Statement;
4601 +
4602 +   function Make_Delay_Until_Statement (Sloc : Source_Ptr;
4603 +      Expression                   : Node_Id)
4604 +      return Node_Id
4605 +   is
4606 +      N : constant Node_Id :=
4607 +            New_Node (N_Delay_Until_Statement, Sloc);
4608 +   begin
4609 +      Set_Expression (N, Expression);
4610 +      return N;
4611 +   end Make_Delay_Until_Statement;
4612 +
4613 +   function Make_Delay_Relative_Statement (Sloc : Source_Ptr;
4614 +      Expression                   : Node_Id)
4615 +      return Node_Id
4616 +   is
4617 +      N : constant Node_Id :=
4618 +            New_Node (N_Delay_Relative_Statement, Sloc);
4619 +   begin
4620 +      Set_Expression (N, Expression);
4621 +      return N;
4622 +   end Make_Delay_Relative_Statement;
4623 +
4624 +   function Make_Selective_Accept (Sloc : Source_Ptr;
4625 +      Select_Alternatives          : List_Id;
4626 +      Else_Statements              : List_Id := No_List)
4627 +      return Node_Id
4628 +   is
4629 +      N : constant Node_Id :=
4630 +            New_Node (N_Selective_Accept, Sloc);
4631 +   begin
4632 +      Set_Select_Alternatives (N, Select_Alternatives);
4633 +      Set_Else_Statements (N, Else_Statements);
4634 +      return N;
4635 +   end Make_Selective_Accept;
4636 +
4637 +   function Make_Accept_Alternative (Sloc : Source_Ptr;
4638 +      Accept_Statement             : Node_Id;
4639 +      Condition                    : Node_Id := Empty;
4640 +      Statements                   : List_Id := Empty_List;
4641 +      Pragmas_Before               : List_Id := No_List)
4642 +      return Node_Id
4643 +   is
4644 +      N : constant Node_Id :=
4645 +            New_Node (N_Accept_Alternative, Sloc);
4646 +   begin
4647 +      Set_Accept_Statement (N, Accept_Statement);
4648 +      Set_Condition (N, Condition);
4649 +      Set_Statements (N, Statements);
4650 +      Set_Pragmas_Before (N, Pragmas_Before);
4651 +      return N;
4652 +   end Make_Accept_Alternative;
4653 +
4654 +   function Make_Delay_Alternative (Sloc : Source_Ptr;
4655 +      Delay_Statement              : Node_Id;
4656 +      Condition                    : Node_Id := Empty;
4657 +      Statements                   : List_Id := Empty_List;
4658 +      Pragmas_Before               : List_Id := No_List)
4659 +      return Node_Id
4660 +   is
4661 +      N : constant Node_Id :=
4662 +            New_Node (N_Delay_Alternative, Sloc);
4663 +   begin
4664 +      Set_Delay_Statement (N, Delay_Statement);
4665 +      Set_Condition (N, Condition);
4666 +      Set_Statements (N, Statements);
4667 +      Set_Pragmas_Before (N, Pragmas_Before);
4668 +      return N;
4669 +   end Make_Delay_Alternative;
4670 +
4671 +   function Make_Terminate_Alternative (Sloc : Source_Ptr;
4672 +      Condition                    : Node_Id := Empty;
4673 +      Pragmas_Before               : List_Id := No_List;
4674 +      Pragmas_After                : List_Id := No_List)
4675 +      return Node_Id
4676 +   is
4677 +      N : constant Node_Id :=
4678 +            New_Node (N_Terminate_Alternative, Sloc);
4679 +   begin
4680 +      Set_Condition (N, Condition);
4681 +      Set_Pragmas_Before (N, Pragmas_Before);
4682 +      Set_Pragmas_After (N, Pragmas_After);
4683 +      return N;
4684 +   end Make_Terminate_Alternative;
4685 +
4686 +   function Make_Timed_Entry_Call (Sloc : Source_Ptr;
4687 +      Entry_Call_Alternative       : Node_Id;
4688 +      Delay_Alternative            : Node_Id)
4689 +      return Node_Id
4690 +   is
4691 +      N : constant Node_Id :=
4692 +            New_Node (N_Timed_Entry_Call, Sloc);
4693 +   begin
4694 +      Set_Entry_Call_Alternative (N, Entry_Call_Alternative);
4695 +      Set_Delay_Alternative (N, Delay_Alternative);
4696 +      return N;
4697 +   end Make_Timed_Entry_Call;
4698 +
4699 +   function Make_Entry_Call_Alternative (Sloc : Source_Ptr;
4700 +      Entry_Call_Statement         : Node_Id;
4701 +      Statements                   : List_Id := Empty_List;
4702 +      Pragmas_Before               : List_Id := No_List)
4703 +      return Node_Id
4704 +   is
4705 +      N : constant Node_Id :=
4706 +            New_Node (N_Entry_Call_Alternative, Sloc);
4707 +   begin
4708 +      Set_Entry_Call_Statement (N, Entry_Call_Statement);
4709 +      Set_Statements (N, Statements);
4710 +      Set_Pragmas_Before (N, Pragmas_Before);
4711 +      return N;
4712 +   end Make_Entry_Call_Alternative;
4713 +
4714 +   function Make_Conditional_Entry_Call (Sloc : Source_Ptr;
4715 +      Entry_Call_Alternative       : Node_Id;
4716 +      Else_Statements              : List_Id)
4717 +      return Node_Id
4718 +   is
4719 +      N : constant Node_Id :=
4720 +            New_Node (N_Conditional_Entry_Call, Sloc);
4721 +   begin
4722 +      Set_Entry_Call_Alternative (N, Entry_Call_Alternative);
4723 +      Set_Else_Statements (N, Else_Statements);
4724 +      return N;
4725 +   end Make_Conditional_Entry_Call;
4726 +
4727 +   function Make_Asynchronous_Select (Sloc : Source_Ptr;
4728 +      Triggering_Alternative       : Node_Id;
4729 +      Abortable_Part               : Node_Id)
4730 +      return Node_Id
4731 +   is
4732 +      N : constant Node_Id :=
4733 +            New_Node (N_Asynchronous_Select, Sloc);
4734 +   begin
4735 +      Set_Triggering_Alternative (N, Triggering_Alternative);
4736 +      Set_Abortable_Part (N, Abortable_Part);
4737 +      return N;
4738 +   end Make_Asynchronous_Select;
4739 +
4740 +   function Make_Triggering_Alternative (Sloc : Source_Ptr;
4741 +      Triggering_Statement         : Node_Id;
4742 +      Statements                   : List_Id := Empty_List;
4743 +      Pragmas_Before               : List_Id := No_List)
4744 +      return Node_Id
4745 +   is
4746 +      N : constant Node_Id :=
4747 +            New_Node (N_Triggering_Alternative, Sloc);
4748 +   begin
4749 +      Set_Triggering_Statement (N, Triggering_Statement);
4750 +      Set_Statements (N, Statements);
4751 +      Set_Pragmas_Before (N, Pragmas_Before);
4752 +      return N;
4753 +   end Make_Triggering_Alternative;
4754 +
4755 +   function Make_Abortable_Part (Sloc : Source_Ptr;
4756 +      Statements                   : List_Id)
4757 +      return Node_Id
4758 +   is
4759 +      N : constant Node_Id :=
4760 +            New_Node (N_Abortable_Part, Sloc);
4761 +   begin
4762 +      Set_Statements (N, Statements);
4763 +      return N;
4764 +   end Make_Abortable_Part;
4765 +
4766 +   function Make_Abort_Statement (Sloc : Source_Ptr;
4767 +      Names                        : List_Id)
4768 +      return Node_Id
4769 +   is
4770 +      N : constant Node_Id :=
4771 +            New_Node (N_Abort_Statement, Sloc);
4772 +   begin
4773 +      Set_Names (N, Names);
4774 +      return N;
4775 +   end Make_Abort_Statement;
4776 +
4777 +   function Make_Compilation_Unit (Sloc : Source_Ptr;
4778 +      Context_Items                : List_Id;
4779 +      Private_Present              : Boolean := False;
4780 +      Unit                         : Node_Id;
4781 +      Aux_Decls_Node               : Node_Id)
4782 +      return Node_Id
4783 +   is
4784 +      N : constant Node_Id :=
4785 +            New_Node (N_Compilation_Unit, Sloc);
4786 +   begin
4787 +      Set_Context_Items (N, Context_Items);
4788 +      Set_Private_Present (N, Private_Present);
4789 +      Set_Unit (N, Unit);
4790 +      Set_Aux_Decls_Node (N, Aux_Decls_Node);
4791 +      return N;
4792 +   end Make_Compilation_Unit;
4793 +
4794 +   function Make_Compilation_Unit_Aux (Sloc : Source_Ptr;
4795 +      Declarations                 : List_Id := No_List;
4796 +      Actions                      : List_Id := No_List;
4797 +      Pragmas_After                : List_Id := No_List;
4798 +      Config_Pragmas               : List_Id := Empty_List)
4799 +      return Node_Id
4800 +   is
4801 +      N : constant Node_Id :=
4802 +            New_Node (N_Compilation_Unit_Aux, Sloc);
4803 +   begin
4804 +      Set_Declarations (N, Declarations);
4805 +      Set_Actions (N, Actions);
4806 +      Set_Pragmas_After (N, Pragmas_After);
4807 +      Set_Config_Pragmas (N, Config_Pragmas);
4808 +      return N;
4809 +   end Make_Compilation_Unit_Aux;
4810 +
4811 +   function Make_With_Clause (Sloc : Source_Ptr;
4812 +      Name                         : Node_Id;
4813 +      First_Name                   : Boolean := True;
4814 +      Last_Name                    : Boolean := True;
4815 +      Limited_Present              : Boolean := False)
4816 +      return Node_Id
4817 +   is
4818 +      N : constant Node_Id :=
4819 +            New_Node (N_With_Clause, Sloc);
4820 +   begin
4821 +      Set_Name (N, Name);
4822 +      Set_First_Name (N, First_Name);
4823 +      Set_Last_Name (N, Last_Name);
4824 +      Set_Limited_Present (N, Limited_Present);
4825 +      return N;
4826 +   end Make_With_Clause;
4827 +
4828 +   function Make_With_Type_Clause (Sloc : Source_Ptr;
4829 +      Name                         : Node_Id;
4830 +      Tagged_Present               : Boolean := False)
4831 +      return Node_Id
4832 +   is
4833 +      N : constant Node_Id :=
4834 +            New_Node (N_With_Type_Clause, Sloc);
4835 +   begin
4836 +      Set_Name (N, Name);
4837 +      Set_Tagged_Present (N, Tagged_Present);
4838 +      return N;
4839 +   end Make_With_Type_Clause;
4840 +
4841 +   function Make_Subprogram_Body_Stub (Sloc : Source_Ptr;
4842 +      Specification                : Node_Id)
4843 +      return Node_Id
4844 +   is
4845 +      N : constant Node_Id :=
4846 +            New_Node (N_Subprogram_Body_Stub, Sloc);
4847 +   begin
4848 +      Set_Specification (N, Specification);
4849 +      return N;
4850 +   end Make_Subprogram_Body_Stub;
4851 +
4852 +   function Make_Package_Body_Stub (Sloc : Source_Ptr;
4853 +      Defining_Identifier          : Node_Id)
4854 +      return Node_Id
4855 +   is
4856 +      N : constant Node_Id :=
4857 +            New_Node (N_Package_Body_Stub, Sloc);
4858 +   begin
4859 +      Set_Defining_Identifier (N, Defining_Identifier);
4860 +      return N;
4861 +   end Make_Package_Body_Stub;
4862 +
4863 +   function Make_Task_Body_Stub (Sloc : Source_Ptr;
4864 +      Defining_Identifier          : Node_Id)
4865 +      return Node_Id
4866 +   is
4867 +      N : constant Node_Id :=
4868 +            New_Node (N_Task_Body_Stub, Sloc);
4869 +   begin
4870 +      Set_Defining_Identifier (N, Defining_Identifier);
4871 +      return N;
4872 +   end Make_Task_Body_Stub;
4873 +
4874 +   function Make_Protected_Body_Stub (Sloc : Source_Ptr;
4875 +      Defining_Identifier          : Node_Id)
4876 +      return Node_Id
4877 +   is
4878 +      N : constant Node_Id :=
4879 +            New_Node (N_Protected_Body_Stub, Sloc);
4880 +   begin
4881 +      Set_Defining_Identifier (N, Defining_Identifier);
4882 +      return N;
4883 +   end Make_Protected_Body_Stub;
4884 +
4885 +   function Make_Subunit (Sloc : Source_Ptr;
4886 +      Name                         : Node_Id;
4887 +      Proper_Body                  : Node_Id)
4888 +      return Node_Id
4889 +   is
4890 +      N : constant Node_Id :=
4891 +            New_Node (N_Subunit, Sloc);
4892 +   begin
4893 +      Set_Name (N, Name);
4894 +      Set_Proper_Body (N, Proper_Body);
4895 +      return N;
4896 +   end Make_Subunit;
4897 +
4898 +   function Make_Exception_Declaration (Sloc : Source_Ptr;
4899 +      Defining_Identifier          : Node_Id)
4900 +      return Node_Id
4901 +   is
4902 +      N : constant Node_Id :=
4903 +            New_Node (N_Exception_Declaration, Sloc);
4904 +   begin
4905 +      Set_Defining_Identifier (N, Defining_Identifier);
4906 +      return N;
4907 +   end Make_Exception_Declaration;
4908 +
4909 +   function Make_Handled_Sequence_Of_Statements (Sloc : Source_Ptr;
4910 +      Statements                   : List_Id;
4911 +      End_Label                    : Node_Id := Empty;
4912 +      Exception_Handlers           : List_Id := No_List;
4913 +      At_End_Proc                  : Node_Id := Empty)
4914 +      return Node_Id
4915 +   is
4916 +      N : constant Node_Id :=
4917 +            New_Node (N_Handled_Sequence_Of_Statements, Sloc);
4918 +   begin
4919 +      Set_Statements (N, Statements);
4920 +      Set_End_Label (N, End_Label);
4921 +      Set_Exception_Handlers (N, Exception_Handlers);
4922 +      Set_At_End_Proc (N, At_End_Proc);
4923 +      return N;
4924 +   end Make_Handled_Sequence_Of_Statements;
4925 +
4926 +   function Make_Exception_Handler (Sloc : Source_Ptr;
4927 +      Choice_Parameter             : Node_Id := Empty;
4928 +      Exception_Choices            : List_Id;
4929 +      Statements                   : List_Id)
4930 +      return Node_Id
4931 +   is
4932 +      N : constant Node_Id :=
4933 +            New_Node (N_Exception_Handler, Sloc);
4934 +   begin
4935 +      Set_Choice_Parameter (N, Choice_Parameter);
4936 +      Set_Exception_Choices (N, Exception_Choices);
4937 +      Set_Statements (N, Statements);
4938 +      return N;
4939 +   end Make_Exception_Handler;
4940 +
4941 +   function Make_Raise_Statement (Sloc : Source_Ptr;
4942 +      Name                         : Node_Id := Empty)
4943 +      return Node_Id
4944 +   is
4945 +      N : constant Node_Id :=
4946 +            New_Node (N_Raise_Statement, Sloc);
4947 +   begin
4948 +      Set_Name (N, Name);
4949 +      return N;
4950 +   end Make_Raise_Statement;
4951 +
4952 +   function Make_Generic_Subprogram_Declaration (Sloc : Source_Ptr;
4953 +      Specification                : Node_Id;
4954 +      Generic_Formal_Declarations  : List_Id)
4955 +      return Node_Id
4956 +   is
4957 +      N : constant Node_Id :=
4958 +            New_Node (N_Generic_Subprogram_Declaration, Sloc);
4959 +   begin
4960 +      Set_Specification (N, Specification);
4961 +      Set_Generic_Formal_Declarations (N, Generic_Formal_Declarations);
4962 +      return N;
4963 +   end Make_Generic_Subprogram_Declaration;
4964 +
4965 +   function Make_Generic_Package_Declaration (Sloc : Source_Ptr;
4966 +      Specification                : Node_Id;
4967 +      Generic_Formal_Declarations  : List_Id)
4968 +      return Node_Id
4969 +   is
4970 +      N : constant Node_Id :=
4971 +            New_Node (N_Generic_Package_Declaration, Sloc);
4972 +   begin
4973 +      Set_Specification (N, Specification);
4974 +      Set_Generic_Formal_Declarations (N, Generic_Formal_Declarations);
4975 +      return N;
4976 +   end Make_Generic_Package_Declaration;
4977 +
4978 +   function Make_Package_Instantiation (Sloc : Source_Ptr;
4979 +      Defining_Unit_Name           : Node_Id;
4980 +      Name                         : Node_Id;
4981 +      Generic_Associations         : List_Id := No_List)
4982 +      return Node_Id
4983 +   is
4984 +      N : constant Node_Id :=
4985 +            New_Node (N_Package_Instantiation, Sloc);
4986 +   begin
4987 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
4988 +      Set_Name (N, Name);
4989 +      Set_Generic_Associations (N, Generic_Associations);
4990 +      return N;
4991 +   end Make_Package_Instantiation;
4992 +
4993 +   function Make_Procedure_Instantiation (Sloc : Source_Ptr;
4994 +      Defining_Unit_Name           : Node_Id;
4995 +      Name                         : Node_Id;
4996 +      Generic_Associations         : List_Id := No_List)
4997 +      return Node_Id
4998 +   is
4999 +      N : constant Node_Id :=
5000 +            New_Node (N_Procedure_Instantiation, Sloc);
5001 +   begin
5002 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
5003 +      Set_Name (N, Name);
5004 +      Set_Generic_Associations (N, Generic_Associations);
5005 +      return N;
5006 +   end Make_Procedure_Instantiation;
5007 +
5008 +   function Make_Function_Instantiation (Sloc : Source_Ptr;
5009 +      Defining_Unit_Name           : Node_Id;
5010 +      Name                         : Node_Id;
5011 +      Generic_Associations         : List_Id := No_List)
5012 +      return Node_Id
5013 +   is
5014 +      N : constant Node_Id :=
5015 +            New_Node (N_Function_Instantiation, Sloc);
5016 +   begin
5017 +      Set_Defining_Unit_Name (N, Defining_Unit_Name);
5018 +      Set_Name (N, Name);
5019 +      Set_Generic_Associations (N, Generic_Associations);
5020 +      return N;
5021 +   end Make_Function_Instantiation;
5022 +
5023 +   function Make_Generic_Association (Sloc : Source_Ptr;
5024 +      Selector_Name                : Node_Id := Empty;
5025 +      Explicit_Generic_Actual_Parameter : Node_Id)
5026 +      return Node_Id
5027 +   is
5028 +      N : constant Node_Id :=
5029 +            New_Node (N_Generic_Association, Sloc);
5030 +   begin
5031 +      Set_Selector_Name (N, Selector_Name);
5032 +      Set_Explicit_Generic_Actual_Parameter
5033 +        (N, Explicit_Generic_Actual_Parameter);
5034 +      return N;
5035 +   end Make_Generic_Association;
5036 +
5037 +   function Make_Formal_Object_Declaration (Sloc : Source_Ptr;
5038 +      Defining_Identifier          : Node_Id;
5039 +      In_Present                   : Boolean := False;
5040 +      Out_Present                  : Boolean := False;
5041 +      Subtype_Mark                 : Node_Id;
5042 +      Expression                   : Node_Id := Empty)
5043 +      return Node_Id
5044 +   is
5045 +      N : constant Node_Id :=
5046 +            New_Node (N_Formal_Object_Declaration, Sloc);
5047 +   begin
5048 +      Set_Defining_Identifier (N, Defining_Identifier);
5049 +      Set_In_Present (N, In_Present);
5050 +      Set_Out_Present (N, Out_Present);
5051 +      Set_Subtype_Mark (N, Subtype_Mark);
5052 +      Set_Expression (N, Expression);
5053 +      return N;
5054 +   end Make_Formal_Object_Declaration;
5055 +
5056 +   function Make_Formal_Type_Declaration (Sloc : Source_Ptr;
5057 +      Defining_Identifier          : Node_Id;
5058 +      Formal_Type_Definition       : Node_Id;
5059 +      Discriminant_Specifications  : List_Id := No_List;
5060 +      Unknown_Discriminants_Present : Boolean := False)
5061 +      return Node_Id
5062 +   is
5063 +      N : constant Node_Id :=
5064 +            New_Node (N_Formal_Type_Declaration, Sloc);
5065 +   begin
5066 +      Set_Defining_Identifier (N, Defining_Identifier);
5067 +      Set_Formal_Type_Definition (N, Formal_Type_Definition);
5068 +      Set_Discriminant_Specifications (N, Discriminant_Specifications);
5069 +      Set_Unknown_Discriminants_Present
5070 +        (N, Unknown_Discriminants_Present);
5071 +      return N;
5072 +   end Make_Formal_Type_Declaration;
5073 +
5074 +   function Make_Formal_Private_Type_Definition (Sloc : Source_Ptr;
5075 +      Abstract_Present             : Boolean := False;
5076 +      Tagged_Present               : Boolean := False;
5077 +      Limited_Present              : Boolean := False)
5078 +      return Node_Id
5079 +   is
5080 +      N : constant Node_Id :=
5081 +            New_Node (N_Formal_Private_Type_Definition, Sloc);
5082 +   begin
5083 +      Set_Abstract_Present (N, Abstract_Present);
5084 +      Set_Tagged_Present (N, Tagged_Present);
5085 +      Set_Limited_Present (N, Limited_Present);
5086 +      return N;
5087 +   end Make_Formal_Private_Type_Definition;
5088 +
5089 +   function Make_Formal_Derived_Type_Definition (Sloc : Source_Ptr;
5090 +      Subtype_Mark                 : Node_Id;
5091 +      Private_Present              : Boolean := False;
5092 +      Abstract_Present             : Boolean := False)
5093 +      return Node_Id
5094 +   is
5095 +      N : constant Node_Id :=
5096 +            New_Node (N_Formal_Derived_Type_Definition, Sloc);
5097 +   begin
5098 +      Set_Subtype_Mark (N, Subtype_Mark);
5099 +      Set_Private_Present (N, Private_Present);
5100 +      Set_Abstract_Present (N, Abstract_Present);
5101 +      return N;
5102 +   end Make_Formal_Derived_Type_Definition;
5103 +
5104 +   function Make_Formal_Discrete_Type_Definition (Sloc : Source_Ptr)
5105 +      return Node_Id
5106 +   is
5107 +      N : constant Node_Id :=
5108 +            New_Node (N_Formal_Discrete_Type_Definition, Sloc);
5109 +   begin
5110 +      return N;
5111 +   end Make_Formal_Discrete_Type_Definition;
5112 +
5113 +   function Make_Formal_Signed_Integer_Type_Definition (Sloc : Source_Ptr)
5114 +      return Node_Id
5115 +   is
5116 +      N : constant Node_Id :=
5117 +            New_Node (N_Formal_Signed_Integer_Type_Definition, Sloc);
5118 +   begin
5119 +      return N;
5120 +   end Make_Formal_Signed_Integer_Type_Definition;
5121 +
5122 +   function Make_Formal_Modular_Type_Definition (Sloc : Source_Ptr)
5123 +      return Node_Id
5124 +   is
5125 +      N : constant Node_Id :=
5126 +            New_Node (N_Formal_Modular_Type_Definition, Sloc);
5127 +   begin
5128 +      return N;
5129 +   end Make_Formal_Modular_Type_Definition;
5130 +
5131 +   function Make_Formal_Floating_Point_Definition (Sloc : Source_Ptr)
5132 +      return Node_Id
5133 +   is
5134 +      N : constant Node_Id :=
5135 +            New_Node (N_Formal_Floating_Point_Definition, Sloc);
5136 +   begin
5137 +      return N;
5138 +   end Make_Formal_Floating_Point_Definition;
5139 +
5140 +   function Make_Formal_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr)
5141 +      return Node_Id
5142 +   is
5143 +      N : constant Node_Id :=
5144 +            New_Node (N_Formal_Ordinary_Fixed_Point_Definition, Sloc);
5145 +   begin
5146 +      return N;
5147 +   end Make_Formal_Ordinary_Fixed_Point_Definition;
5148 +
5149 +   function Make_Formal_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr)
5150 +      return Node_Id
5151 +   is
5152 +      N : constant Node_Id :=
5153 +            New_Node (N_Formal_Decimal_Fixed_Point_Definition, Sloc);
5154 +   begin
5155 +      return N;
5156 +   end Make_Formal_Decimal_Fixed_Point_Definition;
5157 +
5158 +   function Make_Formal_Subprogram_Declaration (Sloc : Source_Ptr;
5159 +      Specification                : Node_Id;
5160 +      Default_Name                 : Node_Id := Empty;
5161 +      Box_Present                  : Boolean := False)
5162 +      return Node_Id
5163 +   is
5164 +      N : constant Node_Id :=
5165 +            New_Node (N_Formal_Subprogram_Declaration, Sloc);
5166 +   begin
5167 +      Set_Specification (N, Specification);
5168 +      Set_Default_Name (N, Default_Name);
5169 +      Set_Box_Present (N, Box_Present);
5170 +      return N;
5171 +   end Make_Formal_Subprogram_Declaration;
5172 +
5173 +   function Make_Formal_Package_Declaration (Sloc : Source_Ptr;
5174 +      Defining_Identifier          : Node_Id;
5175 +      Name                         : Node_Id;
5176 +      Generic_Associations         : List_Id := No_List;
5177 +      Box_Present                  : Boolean := False)
5178 +      return Node_Id
5179 +   is
5180 +      N : constant Node_Id :=
5181 +            New_Node (N_Formal_Package_Declaration, Sloc);
5182 +   begin
5183 +      Set_Defining_Identifier (N, Defining_Identifier);
5184 +      Set_Name (N, Name);
5185 +      Set_Generic_Associations (N, Generic_Associations);
5186 +      Set_Box_Present (N, Box_Present);
5187 +      return N;
5188 +   end Make_Formal_Package_Declaration;
5189 +
5190 +   function Make_Attribute_Definition_Clause (Sloc : Source_Ptr;
5191 +      Name                         : Node_Id;
5192 +      Chars                        : Name_Id;
5193 +      Expression                   : Node_Id)
5194 +      return Node_Id
5195 +   is
5196 +      N : constant Node_Id :=
5197 +            New_Node (N_Attribute_Definition_Clause, Sloc);
5198 +   begin
5199 +      Set_Name (N, Name);
5200 +      Set_Chars (N, Chars);
5201 +      Set_Expression (N, Expression);
5202 +      return N;
5203 +   end Make_Attribute_Definition_Clause;
5204 +
5205 +   function Make_Enumeration_Representation_Clause (Sloc : Source_Ptr;
5206 +      Identifier                   : Node_Id;
5207 +      Array_Aggregate              : Node_Id)
5208 +      return Node_Id
5209 +   is
5210 +      N : constant Node_Id :=
5211 +            New_Node (N_Enumeration_Representation_Clause, Sloc);
5212 +   begin
5213 +      Set_Identifier (N, Identifier);
5214 +      Set_Array_Aggregate (N, Array_Aggregate);
5215 +      return N;
5216 +   end Make_Enumeration_Representation_Clause;
5217 +
5218 +   function Make_Record_Representation_Clause (Sloc : Source_Ptr;
5219 +      Identifier                   : Node_Id;
5220 +      Mod_Clause                   : Node_Id := Empty;
5221 +      Component_Clauses            : List_Id)
5222 +      return Node_Id
5223 +   is
5224 +      N : constant Node_Id :=
5225 +            New_Node (N_Record_Representation_Clause, Sloc);
5226 +   begin
5227 +      Set_Identifier (N, Identifier);
5228 +      Set_Mod_Clause (N, Mod_Clause);
5229 +      Set_Component_Clauses (N, Component_Clauses);
5230 +      return N;
5231 +   end Make_Record_Representation_Clause;
5232 +
5233 +   function Make_Component_Clause (Sloc : Source_Ptr;
5234 +      Component_Name               : Node_Id;
5235 +      Position                     : Node_Id;
5236 +      First_Bit                    : Node_Id;
5237 +      Last_Bit                     : Node_Id)
5238 +      return Node_Id
5239 +   is
5240 +      N : constant Node_Id :=
5241 +            New_Node (N_Component_Clause, Sloc);
5242 +   begin
5243 +      Set_Component_Name (N, Component_Name);
5244 +      Set_Position (N, Position);
5245 +      Set_First_Bit (N, First_Bit);
5246 +      Set_Last_Bit (N, Last_Bit);
5247 +      return N;
5248 +   end Make_Component_Clause;
5249 +
5250 +   function Make_Code_Statement (Sloc : Source_Ptr;
5251 +      Expression                   : Node_Id)
5252 +      return Node_Id
5253 +   is
5254 +      N : constant Node_Id :=
5255 +            New_Node (N_Code_Statement, Sloc);
5256 +   begin
5257 +      Set_Expression (N, Expression);
5258 +      return N;
5259 +   end Make_Code_Statement;
5260 +
5261 +   function Make_Op_Rotate_Left (Sloc : Source_Ptr;
5262 +      Left_Opnd                    : Node_Id;
5263 +      Right_Opnd                   : Node_Id)
5264 +      return Node_Id
5265 +   is
5266 +      N : constant Node_Id :=
5267 +            New_Node (N_Op_Rotate_Left, Sloc);
5268 +   begin
5269 +      Set_Left_Opnd (N, Left_Opnd);
5270 +      Set_Right_Opnd (N, Right_Opnd);
5271 +      Set_Chars (N, Name_Rotate_Left);
5272 +      Set_Entity (N, Standard_Op_Rotate_Left);
5273 +      return N;
5274 +   end Make_Op_Rotate_Left;
5275 +
5276 +   function Make_Op_Rotate_Right (Sloc : Source_Ptr;
5277 +      Left_Opnd                    : Node_Id;
5278 +      Right_Opnd                   : Node_Id)
5279 +      return Node_Id
5280 +   is
5281 +      N : constant Node_Id :=
5282 +            New_Node (N_Op_Rotate_Right, Sloc);
5283 +   begin
5284 +      Set_Left_Opnd (N, Left_Opnd);
5285 +      Set_Right_Opnd (N, Right_Opnd);
5286 +      Set_Chars (N, Name_Rotate_Right);
5287 +      Set_Entity (N, Standard_Op_Rotate_Right);
5288 +      return N;
5289 +   end Make_Op_Rotate_Right;
5290 +
5291 +   function Make_Op_Shift_Left (Sloc : Source_Ptr;
5292 +      Left_Opnd                    : Node_Id;
5293 +      Right_Opnd                   : Node_Id)
5294 +      return Node_Id
5295 +   is
5296 +      N : constant Node_Id :=
5297 +            New_Node (N_Op_Shift_Left, Sloc);
5298 +   begin
5299 +      Set_Left_Opnd (N, Left_Opnd);
5300 +      Set_Right_Opnd (N, Right_Opnd);
5301 +      Set_Chars (N, Name_Shift_Left);
5302 +      Set_Entity (N, Standard_Op_Shift_Left);
5303 +      return N;
5304 +   end Make_Op_Shift_Left;
5305 +
5306 +   function Make_Op_Shift_Right_Arithmetic (Sloc : Source_Ptr;
5307 +      Left_Opnd                    : Node_Id;
5308 +      Right_Opnd                   : Node_Id)
5309 +      return Node_Id
5310 +   is
5311 +      N : constant Node_Id :=
5312 +            New_Node (N_Op_Shift_Right_Arithmetic, Sloc);
5313 +   begin
5314 +      Set_Left_Opnd (N, Left_Opnd);
5315 +      Set_Right_Opnd (N, Right_Opnd);
5316 +      Set_Chars (N, Name_Shift_Right_Arithmetic);
5317 +      Set_Entity (N, Standard_Op_Shift_Right_Arithmetic);
5318 +      return N;
5319 +   end Make_Op_Shift_Right_Arithmetic;
5320 +
5321 +   function Make_Op_Shift_Right (Sloc : Source_Ptr;
5322 +      Left_Opnd                    : Node_Id;
5323 +      Right_Opnd                   : Node_Id)
5324 +      return Node_Id
5325 +   is
5326 +      N : constant Node_Id :=
5327 +            New_Node (N_Op_Shift_Right, Sloc);
5328 +   begin
5329 +      Set_Left_Opnd (N, Left_Opnd);
5330 +      Set_Right_Opnd (N, Right_Opnd);
5331 +      Set_Chars (N, Name_Shift_Right);
5332 +      Set_Entity (N, Standard_Op_Shift_Right);
5333 +      return N;
5334 +   end Make_Op_Shift_Right;
5335 +
5336 +   function Make_Delta_Constraint (Sloc : Source_Ptr;
5337 +      Delta_Expression             : Node_Id;
5338 +      Range_Constraint             : Node_Id := Empty)
5339 +      return Node_Id
5340 +   is
5341 +      N : constant Node_Id :=
5342 +            New_Node (N_Delta_Constraint, Sloc);
5343 +   begin
5344 +      Set_Delta_Expression (N, Delta_Expression);
5345 +      Set_Range_Constraint (N, Range_Constraint);
5346 +      return N;
5347 +   end Make_Delta_Constraint;
5348 +
5349 +   function Make_At_Clause (Sloc : Source_Ptr;
5350 +      Identifier                   : Node_Id;
5351 +      Expression                   : Node_Id)
5352 +      return Node_Id
5353 +   is
5354 +      N : constant Node_Id :=
5355 +            New_Node (N_At_Clause, Sloc);
5356 +   begin
5357 +      Set_Identifier (N, Identifier);
5358 +      Set_Expression (N, Expression);
5359 +      return N;
5360 +   end Make_At_Clause;
5361 +
5362 +   function Make_Mod_Clause (Sloc : Source_Ptr;
5363 +      Expression                   : Node_Id;
5364 +      Pragmas_Before               : List_Id)
5365 +      return Node_Id
5366 +   is
5367 +      N : constant Node_Id :=
5368 +            New_Node (N_Mod_Clause, Sloc);
5369 +   begin
5370 +      Set_Expression (N, Expression);
5371 +      Set_Pragmas_Before (N, Pragmas_Before);
5372 +      return N;
5373 +   end Make_Mod_Clause;
5374 +
5375 +   function Make_Conditional_Expression (Sloc : Source_Ptr;
5376 +      Expressions                  : List_Id)
5377 +      return Node_Id
5378 +   is
5379 +      N : constant Node_Id :=
5380 +            New_Node (N_Conditional_Expression, Sloc);
5381 +   begin
5382 +      Set_Expressions (N, Expressions);
5383 +      return N;
5384 +   end Make_Conditional_Expression;
5385 +
5386 +   function Make_Expanded_Name (Sloc : Source_Ptr;
5387 +      Chars                        : Name_Id;
5388 +      Prefix                       : Node_Id;
5389 +      Selector_Name                : Node_Id)
5390 +      return Node_Id
5391 +   is
5392 +      N : constant Node_Id :=
5393 +            New_Node (N_Expanded_Name, Sloc);
5394 +   begin
5395 +      Set_Chars (N, Chars);
5396 +      Set_Prefix (N, Prefix);
5397 +      Set_Selector_Name (N, Selector_Name);
5398 +      return N;
5399 +   end Make_Expanded_Name;
5400 +
5401 +   function Make_Free_Statement (Sloc : Source_Ptr;
5402 +      Expression                   : Node_Id)
5403 +      return Node_Id
5404 +   is
5405 +      N : constant Node_Id :=
5406 +            New_Node (N_Free_Statement, Sloc);
5407 +   begin
5408 +      Set_Expression (N, Expression);
5409 +      return N;
5410 +   end Make_Free_Statement;
5411 +
5412 +   function Make_Freeze_Entity (Sloc : Source_Ptr;
5413 +      Actions                      : List_Id := No_List)
5414 +      return Node_Id
5415 +   is
5416 +      N : constant Node_Id :=
5417 +            New_Node (N_Freeze_Entity, Sloc);
5418 +   begin
5419 +      Set_Actions (N, Actions);
5420 +      return N;
5421 +   end Make_Freeze_Entity;
5422 +
5423 +   function Make_Implicit_Label_Declaration (Sloc : Source_Ptr;
5424 +      Defining_Identifier          : Node_Id)
5425 +      return Node_Id
5426 +   is
5427 +      N : constant Node_Id :=
5428 +            New_Node (N_Implicit_Label_Declaration, Sloc);
5429 +   begin
5430 +      Set_Defining_Identifier (N, Defining_Identifier);
5431 +      return N;
5432 +   end Make_Implicit_Label_Declaration;
5433 +
5434 +   function Make_Itype_Reference (Sloc : Source_Ptr)
5435 +      return Node_Id
5436 +   is
5437 +      N : constant Node_Id :=
5438 +            New_Node (N_Itype_Reference, Sloc);
5439 +   begin
5440 +      return N;
5441 +   end Make_Itype_Reference;
5442 +
5443 +   function Make_Raise_Constraint_Error (Sloc : Source_Ptr;
5444 +      Condition                    : Node_Id := Empty;
5445 +      Reason                       : Uint)
5446 +      return Node_Id
5447 +   is
5448 +      N : constant Node_Id :=
5449 +            New_Node (N_Raise_Constraint_Error, Sloc);
5450 +   begin
5451 +      Set_Condition (N, Condition);
5452 +      Set_Reason (N, Reason);
5453 +      return N;
5454 +   end Make_Raise_Constraint_Error;
5455 +
5456 +   function Make_Raise_Program_Error (Sloc : Source_Ptr;
5457 +      Condition                    : Node_Id := Empty;
5458 +      Reason                       : Uint)
5459 +      return Node_Id
5460 +   is
5461 +      N : constant Node_Id :=
5462 +            New_Node (N_Raise_Program_Error, Sloc);
5463 +   begin
5464 +      Set_Condition (N, Condition);
5465 +      Set_Reason (N, Reason);
5466 +      return N;
5467 +   end Make_Raise_Program_Error;
5468 +
5469 +   function Make_Raise_Storage_Error (Sloc : Source_Ptr;
5470 +      Condition                    : Node_Id := Empty;
5471 +      Reason                       : Uint)
5472 +      return Node_Id
5473 +   is
5474 +      N : constant Node_Id :=
5475 +            New_Node (N_Raise_Storage_Error, Sloc);
5476 +   begin
5477 +      Set_Condition (N, Condition);
5478 +      Set_Reason (N, Reason);
5479 +      return N;
5480 +   end Make_Raise_Storage_Error;
5481 +
5482 +   function Make_Reference (Sloc : Source_Ptr;
5483 +      Prefix                       : Node_Id)
5484 +      return Node_Id
5485 +   is
5486 +      N : constant Node_Id :=
5487 +            New_Node (N_Reference, Sloc);
5488 +   begin
5489 +      Set_Prefix (N, Prefix);
5490 +      return N;
5491 +   end Make_Reference;
5492 +
5493 +   function Make_Subprogram_Info (Sloc : Source_Ptr;
5494 +      Identifier                   : Node_Id)
5495 +      return Node_Id
5496 +   is
5497 +      N : constant Node_Id :=
5498 +            New_Node (N_Subprogram_Info, Sloc);
5499 +   begin
5500 +      Set_Identifier (N, Identifier);
5501 +      return N;
5502 +   end Make_Subprogram_Info;
5503 +
5504 +   function Make_Unchecked_Expression (Sloc : Source_Ptr;
5505 +      Expression                   : Node_Id)
5506 +      return Node_Id
5507 +   is
5508 +      N : constant Node_Id :=
5509 +            New_Node (N_Unchecked_Expression, Sloc);
5510 +   begin
5511 +      Set_Expression (N, Expression);
5512 +      return N;
5513 +   end Make_Unchecked_Expression;
5514 +
5515 +   function Make_Unchecked_Type_Conversion (Sloc : Source_Ptr;
5516 +      Subtype_Mark                 : Node_Id;
5517 +      Expression                   : Node_Id)
5518 +      return Node_Id
5519 +   is
5520 +      N : constant Node_Id :=
5521 +            New_Node (N_Unchecked_Type_Conversion, Sloc);
5522 +   begin
5523 +      Set_Subtype_Mark (N, Subtype_Mark);
5524 +      Set_Expression (N, Expression);
5525 +      return N;
5526 +   end Make_Unchecked_Type_Conversion;
5527 +
5528 +   function Make_Validate_Unchecked_Conversion (Sloc : Source_Ptr)
5529 +      return Node_Id
5530 +   is
5531 +      N : constant Node_Id :=
5532 +            New_Node (N_Validate_Unchecked_Conversion, Sloc);
5533 +   begin
5534 +      return N;
5535 +   end Make_Validate_Unchecked_Conversion;
5536 +
5537 +end Nmake;
5538 --- gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/nmake.ads.orig        1970-01-01 01:00:00.000000000 +0100
5539 +++ gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/nmake.ads     2004-06-02 00:52:35.000000000 +0200
5540 @@ -0,0 +1,1351 @@
5541 +------------------------------------------------------------------------------
5542 +--                                                                          --
5543 +--                         GNAT COMPILER COMPONENTS                         --
5544 +--                                                                          --
5545 +--                                N M A K E                                 --
5546 +--                                                                          --
5547 +--                                 S p e c                                  --
5548 +--                                                                          --
5549 +--          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
5550 +--                                                                          --
5551 +-- GNAT is free software;  you can  redistribute it  and/or modify it under --
5552 +-- terms of the  GNU General Public License as published  by the Free Soft- --
5553 +-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
5554 +-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
5555 +-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
5556 +-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
5557 +-- for  more details.  You should have  received  a copy of the GNU General --
5558 +-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
5559 +-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
5560 +-- MA 02111-1307, USA.                                                      --
5561 +--                                                                          --
5562 +-- GNAT was originally developed  by the GNAT team at  New York University. --
5563 +-- Extensive contributions were provided by Ada Core Technologies Inc.      --
5564 +--                                                                          --
5565 +------------------------------------------------------------------------------
5566 +
5567 +pragma Style_Checks (All_Checks);
5568 +--  Turn off subprogram order checking, since the routines here are
5569 +--  generated automatically in order.
5570 +
5571 +
5572 +with Nlists; use Nlists;
5573 +with Types;  use Types;
5574 +with Uintp;  use Uintp;
5575 +with Urealp; use Urealp;
5576 +
5577 +package Nmake is
5578 +
5579 +--  This package contains a set of routines used to construct tree nodes
5580 +--  using a functional style. There is one routine for each node type defined
5581 +--  in Sinfo with the general interface:
5582 +
5583 +--    function Make_xxx (Sloc : Source_Ptr,
5584 +--                       Field_Name_1 : Field_Name_1_Type [:= default]
5585 +--                       Field_Name_2 : Field_Name_2_Type [:= default]
5586 +--                       ...)
5587 +--    return Node_Id
5588 +
5589 +--  Only syntactic fields are included (i.e. fields marked as "-Sem" or "-Lib"
5590 +--  in the Sinfo spec are excluded). In addition, the following four syntactic
5591 +--  fields are excluded:
5592 +
5593 +--    Prev_Ids
5594 +--    More_Ids
5595 +--    Comes_From_Source
5596 +--    Paren_Count
5597 +
5598 +--  since they are very rarely set in expanded code. If they need to be set,
5599 +--  to other than the default values (False, False, False, zero), then the
5600 +--  appropriate Set_xxx procedures must be used on the returned value.
5601 +
5602 +--  Default values are provided only for flag fields (where the default is
5603 +--  False), and for optional fields. An optional field is one where the
5604 +--  comment line describing the field contains the string "(set to xxx if".
5605 +--  For such fields, a default value of xxx is provided."
5606 +
5607 +--  Warning: since calls to Make_xxx routines are normal function calls, the
5608 +--  arguments can be evaluated in any order. This means that at most one such
5609 +--  argument can have side effects (e.g. be a call to a parse routine).
5610 +
5611 +   function Make_Unused_At_Start (Sloc : Source_Ptr)
5612 +      return Node_Id;
5613 +   pragma Inline (Make_Unused_At_Start);
5614 +
5615 +   function Make_Unused_At_End (Sloc : Source_Ptr)
5616 +      return Node_Id;
5617 +   pragma Inline (Make_Unused_At_End);
5618 +
5619 +   function Make_Identifier (Sloc : Source_Ptr;
5620 +      Chars                        : Name_Id)
5621 +      return Node_Id;
5622 +   pragma Inline (Make_Identifier);
5623 +
5624 +   function Make_Integer_Literal (Sloc : Source_Ptr;
5625 +      Intval                       : Uint)
5626 +      return Node_Id;
5627 +   pragma Inline (Make_Integer_Literal);
5628 +
5629 +   function Make_Real_Literal (Sloc : Source_Ptr;
5630 +      Realval                      : Ureal)
5631 +      return Node_Id;
5632 +   pragma Inline (Make_Real_Literal);
5633 +
5634 +   function Make_Character_Literal (Sloc : Source_Ptr;
5635 +      Chars                        : Name_Id;
5636 +      Char_Literal_Value           : Char_Code)
5637 +      return Node_Id;
5638 +   pragma Inline (Make_Character_Literal);
5639 +
5640 +   function Make_String_Literal (Sloc : Source_Ptr;
5641 +      Strval                       : String_Id)
5642 +      return Node_Id;
5643 +   pragma Inline (Make_String_Literal);
5644 +
5645 +   function Make_Pragma (Sloc : Source_Ptr;
5646 +      Chars                        : Name_Id;
5647 +      Pragma_Argument_Associations : List_Id := No_List;
5648 +      Debug_Statement              : Node_Id := Empty)
5649 +      return Node_Id;
5650 +   pragma Inline (Make_Pragma);
5651 +
5652 +   function Make_Pragma_Argument_Association (Sloc : Source_Ptr;
5653 +      Chars                        : Name_Id := No_Name;
5654 +      Expression                   : Node_Id)
5655 +      return Node_Id;
5656 +   pragma Inline (Make_Pragma_Argument_Association);
5657 +
5658 +   function Make_Defining_Identifier (Sloc : Source_Ptr;
5659 +      Chars                        : Name_Id)
5660 +      return Node_Id;
5661 +   pragma Inline (Make_Defining_Identifier);
5662 +
5663 +   function Make_Full_Type_Declaration (Sloc : Source_Ptr;
5664 +      Defining_Identifier          : Node_Id;
5665 +      Discriminant_Specifications  : List_Id := No_List;
5666 +      Type_Definition              : Node_Id)
5667 +      return Node_Id;
5668 +   pragma Inline (Make_Full_Type_Declaration);
5669 +
5670 +   function Make_Subtype_Declaration (Sloc : Source_Ptr;
5671 +      Defining_Identifier          : Node_Id;
5672 +      Subtype_Indication           : Node_Id)
5673 +      return Node_Id;
5674 +   pragma Inline (Make_Subtype_Declaration);
5675 +
5676 +   function Make_Subtype_Indication (Sloc : Source_Ptr;
5677 +      Subtype_Mark                 : Node_Id;
5678 +      Constraint                   : Node_Id)
5679 +      return Node_Id;
5680 +   pragma Inline (Make_Subtype_Indication);
5681 +
5682 +   function Make_Object_Declaration (Sloc : Source_Ptr;
5683 +      Defining_Identifier          : Node_Id;
5684 +      Aliased_Present              : Boolean := False;
5685 +      Constant_Present             : Boolean := False;
5686 +      Object_Definition            : Node_Id;
5687 +      Expression                   : Node_Id := Empty)
5688 +      return Node_Id;
5689 +   pragma Inline (Make_Object_Declaration);
5690 +
5691 +   function Make_Number_Declaration (Sloc : Source_Ptr;
5692 +      Defining_Identifier          : Node_Id;
5693 +      Expression                   : Node_Id)
5694 +      return Node_Id;
5695 +   pragma Inline (Make_Number_Declaration);
5696 +
5697 +   function Make_Derived_Type_Definition (Sloc : Source_Ptr;
5698 +      Abstract_Present             : Boolean := False;
5699 +      Subtype_Indication           : Node_Id;
5700 +      Record_Extension_Part        : Node_Id := Empty)
5701 +      return Node_Id;
5702 +   pragma Inline (Make_Derived_Type_Definition);
5703 +
5704 +   function Make_Range_Constraint (Sloc : Source_Ptr;
5705 +      Range_Expression             : Node_Id)
5706 +      return Node_Id;
5707 +   pragma Inline (Make_Range_Constraint);
5708 +
5709 +   function Make_Range (Sloc : Source_Ptr;
5710 +      Low_Bound                    : Node_Id;
5711 +      High_Bound                   : Node_Id;
5712 +      Includes_Infinities          : Boolean := False)
5713 +      return Node_Id;
5714 +   pragma Inline (Make_Range);
5715 +
5716 +   function Make_Enumeration_Type_Definition (Sloc : Source_Ptr;
5717 +      Literals                     : List_Id;
5718 +      End_Label                    : Node_Id := Empty)
5719 +      return Node_Id;
5720 +   pragma Inline (Make_Enumeration_Type_Definition);
5721 +
5722 +   function Make_Defining_Character_Literal (Sloc : Source_Ptr;
5723 +      Chars                        : Name_Id)
5724 +      return Node_Id;
5725 +   pragma Inline (Make_Defining_Character_Literal);
5726 +
5727 +   function Make_Signed_Integer_Type_Definition (Sloc : Source_Ptr;
5728 +      Low_Bound                    : Node_Id;
5729 +      High_Bound                   : Node_Id)
5730 +      return Node_Id;
5731 +   pragma Inline (Make_Signed_Integer_Type_Definition);
5732 +
5733 +   function Make_Modular_Type_Definition (Sloc : Source_Ptr;
5734 +      Expression                   : Node_Id)
5735 +      return Node_Id;
5736 +   pragma Inline (Make_Modular_Type_Definition);
5737 +
5738 +   function Make_Floating_Point_Definition (Sloc : Source_Ptr;
5739 +      Digits_Expression            : Node_Id;
5740 +      Real_Range_Specification     : Node_Id := Empty)
5741 +      return Node_Id;
5742 +   pragma Inline (Make_Floating_Point_Definition);
5743 +
5744 +   function Make_Real_Range_Specification (Sloc : Source_Ptr;
5745 +      Low_Bound                    : Node_Id;
5746 +      High_Bound                   : Node_Id)
5747 +      return Node_Id;
5748 +   pragma Inline (Make_Real_Range_Specification);
5749 +
5750 +   function Make_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr;
5751 +      Delta_Expression             : Node_Id;
5752 +      Real_Range_Specification     : Node_Id)
5753 +      return Node_Id;
5754 +   pragma Inline (Make_Ordinary_Fixed_Point_Definition);
5755 +
5756 +   function Make_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr;
5757 +      Delta_Expression             : Node_Id;
5758 +      Digits_Expression            : Node_Id;
5759 +      Real_Range_Specification     : Node_Id := Empty)
5760 +      return Node_Id;
5761 +   pragma Inline (Make_Decimal_Fixed_Point_Definition);
5762 +
5763 +   function Make_Digits_Constraint (Sloc : Source_Ptr;
5764 +      Digits_Expression            : Node_Id;
5765 +      Range_Constraint             : Node_Id := Empty)
5766 +      return Node_Id;
5767 +   pragma Inline (Make_Digits_Constraint);
5768 +
5769 +   function Make_Unconstrained_Array_Definition (Sloc : Source_Ptr;
5770 +      Subtype_Marks                : List_Id;
5771 +      Component_Definition         : Node_Id)
5772 +      return Node_Id;
5773 +   pragma Inline (Make_Unconstrained_Array_Definition);
5774 +
5775 +   function Make_Constrained_Array_Definition (Sloc : Source_Ptr;
5776 +      Discrete_Subtype_Definitions : List_Id;
5777 +      Component_Definition         : Node_Id)
5778 +      return Node_Id;
5779 +   pragma Inline (Make_Constrained_Array_Definition);
5780 +
5781 +   function Make_Component_Definition (Sloc : Source_Ptr;
5782 +      Aliased_Present              : Boolean := False;
5783 +      Subtype_Indication           : Node_Id)
5784 +      return Node_Id;
5785 +   pragma Inline (Make_Component_Definition);
5786 +
5787 +   function Make_Discriminant_Specification (Sloc : Source_Ptr;
5788 +      Defining_Identifier          : Node_Id;
5789 +      Discriminant_Type            : Node_Id;
5790 +      Expression                   : Node_Id := Empty)
5791 +      return Node_Id;
5792 +   pragma Inline (Make_Discriminant_Specification);
5793 +
5794 +   function Make_Index_Or_Discriminant_Constraint (Sloc : Source_Ptr;
5795 +      Constraints                  : List_Id)
5796 +      return Node_Id;
5797 +   pragma Inline (Make_Index_Or_Discriminant_Constraint);
5798 +
5799 +   function Make_Discriminant_Association (Sloc : Source_Ptr;
5800 +      Selector_Names               : List_Id;
5801 +      Expression                   : Node_Id)
5802 +      return Node_Id;
5803 +   pragma Inline (Make_Discriminant_Association);
5804 +
5805 +   function Make_Record_Definition (Sloc : Source_Ptr;
5806 +      End_Label                    : Node_Id := Empty;
5807 +      Abstract_Present             : Boolean := False;
5808 +      Tagged_Present               : Boolean := False;
5809 +      Limited_Present              : Boolean := False;
5810 +      Component_List               : Node_Id;
5811 +      Null_Present                 : Boolean := False)
5812 +      return Node_Id;
5813 +   pragma Inline (Make_Record_Definition);
5814 +
5815 +   function Make_Component_List (Sloc : Source_Ptr;
5816 +      Component_Items              : List_Id;
5817 +      Variant_Part                 : Node_Id := Empty;
5818 +      Null_Present                 : Boolean := False)
5819 +      return Node_Id;
5820 +   pragma Inline (Make_Component_List);
5821 +
5822 +   function Make_Component_Declaration (Sloc : Source_Ptr;
5823 +      Defining_Identifier          : Node_Id;
5824 +      Component_Definition         : Node_Id;
5825 +      Expression                   : Node_Id := Empty)
5826 +      return Node_Id;
5827 +   pragma Inline (Make_Component_Declaration);
5828 +
5829 +   function Make_Variant_Part (Sloc : Source_Ptr;
5830 +      Name                         : Node_Id;
5831 +      Variants                     : List_Id)
5832 +      return Node_Id;
5833 +   pragma Inline (Make_Variant_Part);
5834 +
5835 +   function Make_Variant (Sloc : Source_Ptr;
5836 +      Discrete_Choices             : List_Id;
5837 +      Component_List               : Node_Id)
5838 +      return Node_Id;
5839 +   pragma Inline (Make_Variant);
5840 +
5841 +   function Make_Others_Choice (Sloc : Source_Ptr)
5842 +      return Node_Id;
5843 +   pragma Inline (Make_Others_Choice);
5844 +
5845 +   function Make_Access_To_Object_Definition (Sloc : Source_Ptr;
5846 +      All_Present                  : Boolean := False;
5847 +      Subtype_Indication           : Node_Id;
5848 +      Constant_Present             : Boolean := False)
5849 +      return Node_Id;
5850 +   pragma Inline (Make_Access_To_Object_Definition);
5851 +
5852 +   function Make_Access_Function_Definition (Sloc : Source_Ptr;
5853 +      Protected_Present            : Boolean := False;
5854 +      Parameter_Specifications     : List_Id := No_List;
5855 +      Subtype_Mark                 : Node_Id)
5856 +      return Node_Id;
5857 +   pragma Inline (Make_Access_Function_Definition);
5858 +
5859 +   function Make_Access_Procedure_Definition (Sloc : Source_Ptr;
5860 +      Protected_Present            : Boolean := False;
5861 +      Parameter_Specifications     : List_Id := No_List)
5862 +      return Node_Id;
5863 +   pragma Inline (Make_Access_Procedure_Definition);
5864 +
5865 +   function Make_Access_Definition (Sloc : Source_Ptr;
5866 +      Subtype_Mark                 : Node_Id)
5867 +      return Node_Id;
5868 +   pragma Inline (Make_Access_Definition);
5869 +
5870 +   function Make_Incomplete_Type_Declaration (Sloc : Source_Ptr;
5871 +      Defining_Identifier          : Node_Id;
5872 +      Discriminant_Specifications  : List_Id := No_List;
5873 +      Unknown_Discriminants_Present : Boolean := False)
5874 +      return Node_Id;
5875 +   pragma Inline (Make_Incomplete_Type_Declaration);
5876 +
5877 +   function Make_Explicit_Dereference (Sloc : Source_Ptr;
5878 +      Prefix                       : Node_Id)
5879 +      return Node_Id;
5880 +   pragma Inline (Make_Explicit_Dereference);
5881 +
5882 +   function Make_Indexed_Component (Sloc : Source_Ptr;
5883 +      Prefix                       : Node_Id;
5884 +      Expressions                  : List_Id)
5885 +      return Node_Id;
5886 +   pragma Inline (Make_Indexed_Component);
5887 +
5888 +   function Make_Slice (Sloc : Source_Ptr;
5889 +      Prefix                       : Node_Id;
5890 +      Discrete_Range               : Node_Id)
5891 +      return Node_Id;
5892 +   pragma Inline (Make_Slice);
5893 +
5894 +   function Make_Selected_Component (Sloc : Source_Ptr;
5895 +      Prefix                       : Node_Id;
5896 +      Selector_Name                : Node_Id)
5897 +      return Node_Id;
5898 +   pragma Inline (Make_Selected_Component);
5899 +
5900 +   function Make_Attribute_Reference (Sloc : Source_Ptr;
5901 +      Prefix                       : Node_Id;
5902 +      Attribute_Name               : Name_Id;
5903 +      Expressions                  : List_Id := No_List;
5904 +      Must_Be_Byte_Aligned         : Boolean := False)
5905 +      return Node_Id;
5906 +   pragma Inline (Make_Attribute_Reference);
5907 +
5908 +   function Make_Aggregate (Sloc : Source_Ptr;
5909 +      Expressions                  : List_Id := No_List;
5910 +      Component_Associations       : List_Id := No_List;
5911 +      Null_Record_Present          : Boolean := False)
5912 +      return Node_Id;
5913 +   pragma Inline (Make_Aggregate);
5914 +
5915 +   function Make_Component_Association (Sloc : Source_Ptr;
5916 +      Choices                      : List_Id;
5917 +      Expression                   : Node_Id;
5918 +      Box_Present                  : Boolean := False)
5919 +      return Node_Id;
5920 +   pragma Inline (Make_Component_Association);
5921 +
5922 +   function Make_Extension_Aggregate (Sloc : Source_Ptr;
5923 +      Ancestor_Part                : Node_Id;
5924 +      Expressions                  : List_Id := No_List;
5925 +      Component_Associations       : List_Id := No_List;
5926 +      Null_Record_Present          : Boolean := False)
5927 +      return Node_Id;
5928 +   pragma Inline (Make_Extension_Aggregate);
5929 +
5930 +   function Make_Null (Sloc : Source_Ptr)
5931 +      return Node_Id;
5932 +   pragma Inline (Make_Null);
5933 +
5934 +   function Make_And_Then (Sloc : Source_Ptr;
5935 +      Left_Opnd                    : Node_Id;
5936 +      Right_Opnd                   : Node_Id)
5937 +      return Node_Id;
5938 +   pragma Inline (Make_And_Then);
5939 +
5940 +   function Make_Or_Else (Sloc : Source_Ptr;
5941 +      Left_Opnd                    : Node_Id;
5942 +      Right_Opnd                   : Node_Id)
5943 +      return Node_Id;
5944 +   pragma Inline (Make_Or_Else);
5945 +
5946 +   function Make_In (Sloc : Source_Ptr;
5947 +      Left_Opnd                    : Node_Id;
5948 +      Right_Opnd                   : Node_Id)
5949 +      return Node_Id;
5950 +   pragma Inline (Make_In);
5951 +
5952 +   function Make_Not_In (Sloc : Source_Ptr;
5953 +      Left_Opnd                    : Node_Id;
5954 +      Right_Opnd                   : Node_Id)
5955 +      return Node_Id;
5956 +   pragma Inline (Make_Not_In);
5957 +
5958 +   function Make_Op_And (Sloc : Source_Ptr;
5959 +      Left_Opnd                    : Node_Id;
5960 +      Right_Opnd                   : Node_Id)
5961 +      return Node_Id;
5962 +   pragma Inline (Make_Op_And);
5963 +
5964 +   function Make_Op_Or (Sloc : Source_Ptr;
5965 +      Left_Opnd                    : Node_Id;
5966 +      Right_Opnd                   : Node_Id)
5967 +      return Node_Id;
5968 +   pragma Inline (Make_Op_Or);
5969 +
5970 +   function Make_Op_Xor (Sloc : Source_Ptr;
5971 +      Left_Opnd                    : Node_Id;
5972 +      Right_Opnd                   : Node_Id)
5973 +      return Node_Id;
5974 +   pragma Inline (Make_Op_Xor);
5975 +
5976 +   function Make_Op_Eq (Sloc : Source_Ptr;
5977 +      Left_Opnd                    : Node_Id;
5978 +      Right_Opnd                   : Node_Id)
5979 +      return Node_Id;
5980 +   pragma Inline (Make_Op_Eq);
5981 +
5982 +   function Make_Op_Ne (Sloc : Source_Ptr;
5983 +      Left_Opnd                    : Node_Id;
5984 +      Right_Opnd                   : Node_Id)
5985 +      return Node_Id;
5986 +   pragma Inline (Make_Op_Ne);
5987 +
5988 +   function Make_Op_Lt (Sloc : Source_Ptr;
5989 +      Left_Opnd                    : Node_Id;
5990 +      Right_Opnd                   : Node_Id)
5991 +      return Node_Id;
5992 +   pragma Inline (Make_Op_Lt);
5993 +
5994 +   function Make_Op_Le (Sloc : Source_Ptr;
5995 +      Left_Opnd                    : Node_Id;
5996 +      Right_Opnd                   : Node_Id)
5997 +      return Node_Id;
5998 +   pragma Inline (Make_Op_Le);
5999 +
6000 +   function Make_Op_Gt (Sloc : Source_Ptr;
6001 +      Left_Opnd                    : Node_Id;
6002 +      Right_Opnd                   : Node_Id)
6003 +      return Node_Id;
6004 +   pragma Inline (Make_Op_Gt);
6005 +
6006 +   function Make_Op_Ge (Sloc : Source_Ptr;
6007 +      Left_Opnd                    : Node_Id;
6008 +      Right_Opnd                   : Node_Id)
6009 +      return Node_Id;
6010 +   pragma Inline (Make_Op_Ge);
6011 +
6012 +   function Make_Op_Add (Sloc : Source_Ptr;
6013 +      Left_Opnd                    : Node_Id;
6014 +      Right_Opnd                   : Node_Id)
6015 +      return Node_Id;
6016 +   pragma Inline (Make_Op_Add);
6017 +
6018 +   function Make_Op_Subtract (Sloc : Source_Ptr;
6019 +      Left_Opnd                    : Node_Id;
6020 +      Right_Opnd                   : Node_Id)
6021 +      return Node_Id;
6022 +   pragma Inline (Make_Op_Subtract);
6023 +
6024 +   function Make_Op_Concat (Sloc : Source_Ptr;
6025 +      Left_Opnd                    : Node_Id;
6026 +      Right_Opnd                   : Node_Id)
6027 +      return Node_Id;
6028 +   pragma Inline (Make_Op_Concat);
6029 +
6030 +   function Make_Op_Multiply (Sloc : Source_Ptr;
6031 +      Left_Opnd                    : Node_Id;
6032 +      Right_Opnd                   : Node_Id)
6033 +      return Node_Id;
6034 +   pragma Inline (Make_Op_Multiply);
6035 +
6036 +   function Make_Op_Divide (Sloc : Source_Ptr;
6037 +      Left_Opnd                    : Node_Id;
6038 +      Right_Opnd                   : Node_Id)
6039 +      return Node_Id;
6040 +   pragma Inline (Make_Op_Divide);
6041 +
6042 +   function Make_Op_Mod (Sloc : Source_Ptr;
6043 +      Left_Opnd                    : Node_Id;
6044 +      Right_Opnd                   : Node_Id)
6045 +      return Node_Id;
6046 +   pragma Inline (Make_Op_Mod);
6047 +
6048 +   function Make_Op_Rem (Sloc : Source_Ptr;
6049 +      Left_Opnd                    : Node_Id;
6050 +      Right_Opnd                   : Node_Id)
6051 +      return Node_Id;
6052 +   pragma Inline (Make_Op_Rem);
6053 +
6054 +   function Make_Op_Expon (Sloc : Source_Ptr;
6055 +      Left_Opnd                    : Node_Id;
6056 +      Right_Opnd                   : Node_Id)
6057 +      return Node_Id;
6058 +   pragma Inline (Make_Op_Expon);
6059 +
6060 +   function Make_Op_Plus (Sloc : Source_Ptr;
6061 +      Right_Opnd                   : Node_Id)
6062 +      return Node_Id;
6063 +   pragma Inline (Make_Op_Plus);
6064 +
6065 +   function Make_Op_Minus (Sloc : Source_Ptr;
6066 +      Right_Opnd                   : Node_Id)
6067 +      return Node_Id;
6068 +   pragma Inline (Make_Op_Minus);
6069 +
6070 +   function Make_Op_Abs (Sloc : Source_Ptr;
6071 +      Right_Opnd                   : Node_Id)
6072 +      return Node_Id;
6073 +   pragma Inline (Make_Op_Abs);
6074 +
6075 +   function Make_Op_Not (Sloc : Source_Ptr;
6076 +      Right_Opnd                   : Node_Id)
6077 +      return Node_Id;
6078 +   pragma Inline (Make_Op_Not);
6079 +
6080 +   function Make_Type_Conversion (Sloc : Source_Ptr;
6081 +      Subtype_Mark                 : Node_Id;
6082 +      Expression                   : Node_Id)
6083 +      return Node_Id;
6084 +   pragma Inline (Make_Type_Conversion);
6085 +
6086 +   function Make_Qualified_Expression (Sloc : Source_Ptr;
6087 +      Subtype_Mark                 : Node_Id;
6088 +      Expression                   : Node_Id)
6089 +      return Node_Id;
6090 +   pragma Inline (Make_Qualified_Expression);
6091 +
6092 +   function Make_Allocator (Sloc : Source_Ptr;
6093 +      Expression                   : Node_Id)
6094 +      return Node_Id;
6095 +   pragma Inline (Make_Allocator);
6096 +
6097 +   function Make_Null_Statement (Sloc : Source_Ptr)
6098 +      return Node_Id;
6099 +   pragma Inline (Make_Null_Statement);
6100 +
6101 +   function Make_Label (Sloc : Source_Ptr;
6102 +      Identifier                   : Node_Id)
6103 +      return Node_Id;
6104 +   pragma Inline (Make_Label);
6105 +
6106 +   function Make_Assignment_Statement (Sloc : Source_Ptr;
6107 +      Name                         : Node_Id;
6108 +      Expression                   : Node_Id)
6109 +      return Node_Id;
6110 +   pragma Inline (Make_Assignment_Statement);
6111 +
6112 +   function Make_If_Statement (Sloc : Source_Ptr;
6113 +      Condition                    : Node_Id;
6114 +      Then_Statements              : List_Id;
6115 +      Elsif_Parts                  : List_Id := No_List;
6116 +      Else_Statements              : List_Id := No_List;
6117 +      End_Span                     : Uint := No_Uint)
6118 +      return Node_Id;
6119 +   pragma Inline (Make_If_Statement);
6120 +
6121 +   function Make_Elsif_Part (Sloc : Source_Ptr;
6122 +      Condition                    : Node_Id;
6123 +      Then_Statements              : List_Id)
6124 +      return Node_Id;
6125 +   pragma Inline (Make_Elsif_Part);
6126 +
6127 +   function Make_Case_Statement (Sloc : Source_Ptr;
6128 +      Expression                   : Node_Id;
6129 +      Alternatives                 : List_Id;
6130 +      End_Span                     : Uint := No_Uint)
6131 +      return Node_Id;
6132 +   pragma Inline (Make_Case_Statement);
6133 +
6134 +   function Make_Case_Statement_Alternative (Sloc : Source_Ptr;
6135 +      Discrete_Choices             : List_Id;
6136 +      Statements                   : List_Id)
6137 +      return Node_Id;
6138 +   pragma Inline (Make_Case_Statement_Alternative);
6139 +
6140 +   function Make_Loop_Statement (Sloc : Source_Ptr;
6141 +      Identifier                   : Node_Id := Empty;
6142 +      Iteration_Scheme             : Node_Id := Empty;
6143 +      Statements                   : List_Id;
6144 +      End_Label                    : Node_Id;
6145 +      Has_Created_Identifier       : Boolean := False;
6146 +      Is_Null_Loop                 : Boolean := False)
6147 +      return Node_Id;
6148 +   pragma Inline (Make_Loop_Statement);
6149 +
6150 +   function Make_Iteration_Scheme (Sloc : Source_Ptr;
6151 +      Condition                    : Node_Id := Empty;
6152 +      Loop_Parameter_Specification : Node_Id := Empty)
6153 +      return Node_Id;
6154 +   pragma Inline (Make_Iteration_Scheme);
6155 +
6156 +   function Make_Loop_Parameter_Specification (Sloc : Source_Ptr;
6157 +      Defining_Identifier          : Node_Id;
6158 +      Reverse_Present              : Boolean := False;
6159 +      Discrete_Subtype_Definition  : Node_Id)
6160 +      return Node_Id;
6161 +   pragma Inline (Make_Loop_Parameter_Specification);
6162 +
6163 +   function Make_Block_Statement (Sloc : Source_Ptr;
6164 +      Identifier                   : Node_Id := Empty;
6165 +      Declarations                 : List_Id := No_List;
6166 +      Handled_Statement_Sequence   : Node_Id;
6167 +      Has_Created_Identifier       : Boolean := False;
6168 +      Is_Task_Allocation_Block     : Boolean := False;
6169 +      Is_Asynchronous_Call_Block   : Boolean := False)
6170 +      return Node_Id;
6171 +   pragma Inline (Make_Block_Statement);
6172 +
6173 +   function Make_Exit_Statement (Sloc : Source_Ptr;
6174 +      Name                         : Node_Id := Empty;
6175 +      Condition                    : Node_Id := Empty)
6176 +      return Node_Id;
6177 +   pragma Inline (Make_Exit_Statement);
6178 +
6179 +   function Make_Goto_Statement (Sloc : Source_Ptr;
6180 +      Name                         : Node_Id)
6181 +      return Node_Id;
6182 +   pragma Inline (Make_Goto_Statement);
6183 +
6184 +   function Make_Subprogram_Declaration (Sloc : Source_Ptr;
6185 +      Specification                : Node_Id)
6186 +      return Node_Id;
6187 +   pragma Inline (Make_Subprogram_Declaration);
6188 +
6189 +   function Make_Abstract_Subprogram_Declaration (Sloc : Source_Ptr;
6190 +      Specification                : Node_Id)
6191 +      return Node_Id;
6192 +   pragma Inline (Make_Abstract_Subprogram_Declaration);
6193 +
6194 +   function Make_Function_Specification (Sloc : Source_Ptr;
6195 +      Defining_Unit_Name           : Node_Id;
6196 +      Parameter_Specifications     : List_Id := No_List;
6197 +      Subtype_Mark                 : Node_Id)
6198 +      return Node_Id;
6199 +   pragma Inline (Make_Function_Specification);
6200 +
6201 +   function Make_Procedure_Specification (Sloc : Source_Ptr;
6202 +      Defining_Unit_Name           : Node_Id;
6203 +      Parameter_Specifications     : List_Id := No_List)
6204 +      return Node_Id;
6205 +   pragma Inline (Make_Procedure_Specification);
6206 +
6207 +   function Make_Designator (Sloc : Source_Ptr;
6208 +      Name                         : Node_Id;
6209 +      Identifier                   : Node_Id)
6210 +      return Node_Id;
6211 +   pragma Inline (Make_Designator);
6212 +
6213 +   function Make_Defining_Program_Unit_Name (Sloc : Source_Ptr;
6214 +      Name                         : Node_Id;
6215 +      Defining_Identifier          : Node_Id)
6216 +      return Node_Id;
6217 +   pragma Inline (Make_Defining_Program_Unit_Name);
6218 +
6219 +   function Make_Operator_Symbol (Sloc : Source_Ptr;
6220 +      Chars                        : Name_Id;
6221 +      Strval                       : String_Id)
6222 +      return Node_Id;
6223 +   pragma Inline (Make_Operator_Symbol);
6224 +
6225 +   function Make_Defining_Operator_Symbol (Sloc : Source_Ptr;
6226 +      Chars                        : Name_Id)
6227 +      return Node_Id;
6228 +   pragma Inline (Make_Defining_Operator_Symbol);
6229 +
6230 +   function Make_Parameter_Specification (Sloc : Source_Ptr;
6231 +      Defining_Identifier          : Node_Id;
6232 +      In_Present                   : Boolean := False;
6233 +      Out_Present                  : Boolean := False;
6234 +      Parameter_Type               : Node_Id;
6235 +      Expression                   : Node_Id := Empty)
6236 +      return Node_Id;
6237 +   pragma Inline (Make_Parameter_Specification);
6238 +
6239 +   function Make_Subprogram_Body (Sloc : Source_Ptr;
6240 +      Specification                : Node_Id;
6241 +      Declarations                 : List_Id;
6242 +      Handled_Statement_Sequence   : Node_Id;
6243 +      Bad_Is_Detected              : Boolean := False)
6244 +      return Node_Id;
6245 +   pragma Inline (Make_Subprogram_Body);
6246 +
6247 +   function Make_Procedure_Call_Statement (Sloc : Source_Ptr;
6248 +      Name                         : Node_Id;
6249 +      Parameter_Associations       : List_Id := No_List)
6250 +      return Node_Id;
6251 +   pragma Inline (Make_Procedure_Call_Statement);
6252 +
6253 +   function Make_Function_Call (Sloc : Source_Ptr;
6254 +      Name                         : Node_Id;
6255 +      Parameter_Associations       : List_Id := No_List)
6256 +      return Node_Id;
6257 +   pragma Inline (Make_Function_Call);
6258 +
6259 +   function Make_Parameter_Association (Sloc : Source_Ptr;
6260 +      Selector_Name                : Node_Id;
6261 +      Explicit_Actual_Parameter    : Node_Id)
6262 +      return Node_Id;
6263 +   pragma Inline (Make_Parameter_Association);
6264 +
6265 +   function Make_Return_Statement (Sloc : Source_Ptr;
6266 +      Expression                   : Node_Id := Empty)
6267 +      return Node_Id;
6268 +   pragma Inline (Make_Return_Statement);
6269 +
6270 +   function Make_Package_Declaration (Sloc : Source_Ptr;
6271 +      Specification                : Node_Id)
6272 +      return Node_Id;
6273 +   pragma Inline (Make_Package_Declaration);
6274 +
6275 +   function Make_Package_Specification (Sloc : Source_Ptr;
6276 +      Defining_Unit_Name           : Node_Id;
6277 +      Visible_Declarations         : List_Id;
6278 +      Private_Declarations         : List_Id := No_List;
6279 +      End_Label                    : Node_Id)
6280 +      return Node_Id;
6281 +   pragma Inline (Make_Package_Specification);
6282 +
6283 +   function Make_Package_Body (Sloc : Source_Ptr;
6284 +      Defining_Unit_Name           : Node_Id;
6285 +      Declarations                 : List_Id;
6286 +      Handled_Statement_Sequence   : Node_Id := Empty)
6287 +      return Node_Id;
6288 +   pragma Inline (Make_Package_Body);
6289 +
6290 +   function Make_Private_Type_Declaration (Sloc : Source_Ptr;
6291 +      Defining_Identifier          : Node_Id;
6292 +      Discriminant_Specifications  : List_Id := No_List;
6293 +      Unknown_Discriminants_Present : Boolean := False;
6294 +      Abstract_Present             : Boolean := False;
6295 +      Tagged_Present               : Boolean := False;
6296 +      Limited_Present              : Boolean := False)
6297 +      return Node_Id;
6298 +   pragma Inline (Make_Private_Type_Declaration);
6299 +
6300 +   function Make_Private_Extension_Declaration (Sloc : Source_Ptr;
6301 +      Defining_Identifier          : Node_Id;
6302 +      Discriminant_Specifications  : List_Id := No_List;
6303 +      Unknown_Discriminants_Present : Boolean := False;
6304 +      Abstract_Present             : Boolean := False;
6305 +      Subtype_Indication           : Node_Id)
6306 +      return Node_Id;
6307 +   pragma Inline (Make_Private_Extension_Declaration);
6308 +
6309 +   function Make_Use_Package_Clause (Sloc : Source_Ptr;
6310 +      Names                        : List_Id)
6311 +      return Node_Id;
6312 +   pragma Inline (Make_Use_Package_Clause);
6313 +
6314 +   function Make_Use_Type_Clause (Sloc : Source_Ptr;
6315 +      Subtype_Marks                : List_Id)
6316 +      return Node_Id;
6317 +   pragma Inline (Make_Use_Type_Clause);
6318 +
6319 +   function Make_Object_Renaming_Declaration (Sloc : Source_Ptr;
6320 +      Defining_Identifier          : Node_Id;
6321 +      Subtype_Mark                 : Node_Id;
6322 +      Name                         : Node_Id)
6323 +      return Node_Id;
6324 +   pragma Inline (Make_Object_Renaming_Declaration);
6325 +
6326 +   function Make_Exception_Renaming_Declaration (Sloc : Source_Ptr;
6327 +      Defining_Identifier          : Node_Id;
6328 +      Name                         : Node_Id)
6329 +      return Node_Id;
6330 +   pragma Inline (Make_Exception_Renaming_Declaration);
6331 +
6332 +   function Make_Package_Renaming_Declaration (Sloc : Source_Ptr;
6333 +      Defining_Unit_Name           : Node_Id;
6334 +      Name                         : Node_Id)
6335 +      return Node_Id;
6336 +   pragma Inline (Make_Package_Renaming_Declaration);
6337 +
6338 +   function Make_Subprogram_Renaming_Declaration (Sloc : Source_Ptr;
6339 +      Specification                : Node_Id;
6340 +      Name                         : Node_Id)
6341 +      return Node_Id;
6342 +   pragma Inline (Make_Subprogram_Renaming_Declaration);
6343 +
6344 +   function Make_Generic_Package_Renaming_Declaration (Sloc : Source_Ptr;
6345 +      Defining_Unit_Name           : Node_Id;
6346 +      Name                         : Node_Id)
6347 +      return Node_Id;
6348 +   pragma Inline (Make_Generic_Package_Renaming_Declaration);
6349 +
6350 +   function Make_Generic_Procedure_Renaming_Declaration (Sloc : Source_Ptr;
6351 +      Defining_Unit_Name           : Node_Id;
6352 +      Name                         : Node_Id)
6353 +      return Node_Id;
6354 +   pragma Inline (Make_Generic_Procedure_Renaming_Declaration);
6355 +
6356 +   function Make_Generic_Function_Renaming_Declaration (Sloc : Source_Ptr;
6357 +      Defining_Unit_Name           : Node_Id;
6358 +      Name                         : Node_Id)
6359 +      return Node_Id;
6360 +   pragma Inline (Make_Generic_Function_Renaming_Declaration);
6361 +
6362 +   function Make_Task_Type_Declaration (Sloc : Source_Ptr;
6363 +      Defining_Identifier          : Node_Id;
6364 +      Discriminant_Specifications  : List_Id := No_List;
6365 +      Task_Definition              : Node_Id := Empty)
6366 +      return Node_Id;
6367 +   pragma Inline (Make_Task_Type_Declaration);
6368 +
6369 +   function Make_Single_Task_Declaration (Sloc : Source_Ptr;
6370 +      Defining_Identifier          : Node_Id;
6371 +      Task_Definition              : Node_Id := Empty)
6372 +      return Node_Id;
6373 +   pragma Inline (Make_Single_Task_Declaration);
6374 +
6375 +   function Make_Task_Definition (Sloc : Source_Ptr;
6376 +      Visible_Declarations         : List_Id;
6377 +      Private_Declarations         : List_Id := No_List;
6378 +      End_Label                    : Node_Id)
6379 +      return Node_Id;
6380 +   pragma Inline (Make_Task_Definition);
6381 +
6382 +   function Make_Task_Body (Sloc : Source_Ptr;
6383 +      Defining_Identifier          : Node_Id;
6384 +      Declarations                 : List_Id;
6385 +      Handled_Statement_Sequence   : Node_Id)
6386 +      return Node_Id;
6387 +   pragma Inline (Make_Task_Body);
6388 +
6389 +   function Make_Protected_Type_Declaration (Sloc : Source_Ptr;
6390 +      Defining_Identifier          : Node_Id;
6391 +      Discriminant_Specifications  : List_Id := No_List;
6392 +      Protected_Definition         : Node_Id)
6393 +      return Node_Id;
6394 +   pragma Inline (Make_Protected_Type_Declaration);
6395 +
6396 +   function Make_Single_Protected_Declaration (Sloc : Source_Ptr;
6397 +      Defining_Identifier          : Node_Id;
6398 +      Protected_Definition         : Node_Id)
6399 +      return Node_Id;
6400 +   pragma Inline (Make_Single_Protected_Declaration);
6401 +
6402 +   function Make_Protected_Definition (Sloc : Source_Ptr;
6403 +      Visible_Declarations         : List_Id;
6404 +      Private_Declarations         : List_Id := No_List;
6405 +      End_Label                    : Node_Id)
6406 +      return Node_Id;
6407 +   pragma Inline (Make_Protected_Definition);
6408 +
6409 +   function Make_Protected_Body (Sloc : Source_Ptr;
6410 +      Defining_Identifier          : Node_Id;
6411 +      Declarations                 : List_Id;
6412 +      End_Label                    : Node_Id)
6413 +      return Node_Id;
6414 +   pragma Inline (Make_Protected_Body);
6415 +
6416 +   function Make_Entry_Declaration (Sloc : Source_Ptr;
6417 +      Defining_Identifier          : Node_Id;
6418 +      Discrete_Subtype_Definition  : Node_Id := Empty;
6419 +      Parameter_Specifications     : List_Id := No_List)
6420 +      return Node_Id;
6421 +   pragma Inline (Make_Entry_Declaration);
6422 +
6423 +   function Make_Accept_Statement (Sloc : Source_Ptr;
6424 +      Entry_Direct_Name            : Node_Id;
6425 +      Entry_Index                  : Node_Id := Empty;
6426 +      Parameter_Specifications     : List_Id := No_List;
6427 +      Handled_Statement_Sequence   : Node_Id;
6428 +      Declarations                 : List_Id := No_List)
6429 +      return Node_Id;
6430 +   pragma Inline (Make_Accept_Statement);
6431 +
6432 +   function Make_Entry_Body (Sloc : Source_Ptr;
6433 +      Defining_Identifier          : Node_Id;
6434 +      Entry_Body_Formal_Part       : Node_Id;
6435 +      Declarations                 : List_Id;
6436 +      Handled_Statement_Sequence   : Node_Id)
6437 +      return Node_Id;
6438 +   pragma Inline (Make_Entry_Body);
6439 +
6440 +   function Make_Entry_Body_Formal_Part (Sloc : Source_Ptr;
6441 +      Entry_Index_Specification    : Node_Id := Empty;
6442 +      Parameter_Specifications     : List_Id := No_List;
6443 +      Condition                    : Node_Id)
6444 +      return Node_Id;
6445 +   pragma Inline (Make_Entry_Body_Formal_Part);
6446 +
6447 +   function Make_Entry_Index_Specification (Sloc : Source_Ptr;
6448 +      Defining_Identifier          : Node_Id;
6449 +      Discrete_Subtype_Definition  : Node_Id)
6450 +      return Node_Id;
6451 +   pragma Inline (Make_Entry_Index_Specification);
6452 +
6453 +   function Make_Entry_Call_Statement (Sloc : Source_Ptr;
6454 +      Name                         : Node_Id;
6455 +      Parameter_Associations       : List_Id := No_List)
6456 +      return Node_Id;
6457 +   pragma Inline (Make_Entry_Call_Statement);
6458 +
6459 +   function Make_Requeue_Statement (Sloc : Source_Ptr;
6460 +      Name                         : Node_Id;
6461 +      Abort_Present                : Boolean := False)
6462 +      return Node_Id;
6463 +   pragma Inline (Make_Requeue_Statement);
6464 +
6465 +   function Make_Delay_Until_Statement (Sloc : Source_Ptr;
6466 +      Expression                   : Node_Id)
6467 +      return Node_Id;
6468 +   pragma Inline (Make_Delay_Until_Statement);
6469 +
6470 +   function Make_Delay_Relative_Statement (Sloc : Source_Ptr;
6471 +      Expression                   : Node_Id)
6472 +      return Node_Id;
6473 +   pragma Inline (Make_Delay_Relative_Statement);
6474 +
6475 +   function Make_Selective_Accept (Sloc : Source_Ptr;
6476 +      Select_Alternatives          : List_Id;
6477 +      Else_Statements              : List_Id := No_List)
6478 +      return Node_Id;
6479 +   pragma Inline (Make_Selective_Accept);
6480 +
6481 +   function Make_Accept_Alternative (Sloc : Source_Ptr;
6482 +      Accept_Statement             : Node_Id;
6483 +      Condition                    : Node_Id := Empty;
6484 +      Statements                   : List_Id := Empty_List;
6485 +      Pragmas_Before               : List_Id := No_List)
6486 +      return Node_Id;
6487 +   pragma Inline (Make_Accept_Alternative);
6488 +
6489 +   function Make_Delay_Alternative (Sloc : Source_Ptr;
6490 +      Delay_Statement              : Node_Id;
6491 +      Condition                    : Node_Id := Empty;
6492 +      Statements                   : List_Id := Empty_List;
6493 +      Pragmas_Before               : List_Id := No_List)
6494 +      return Node_Id;
6495 +   pragma Inline (Make_Delay_Alternative);
6496 +
6497 +   function Make_Terminate_Alternative (Sloc : Source_Ptr;
6498 +      Condition                    : Node_Id := Empty;
6499 +      Pragmas_Before               : List_Id := No_List;
6500 +      Pragmas_After                : List_Id := No_List)
6501 +      return Node_Id;
6502 +   pragma Inline (Make_Terminate_Alternative);
6503 +
6504 +   function Make_Timed_Entry_Call (Sloc : Source_Ptr;
6505 +      Entry_Call_Alternative       : Node_Id;
6506 +      Delay_Alternative            : Node_Id)
6507 +      return Node_Id;
6508 +   pragma Inline (Make_Timed_Entry_Call);
6509 +
6510 +   function Make_Entry_Call_Alternative (Sloc : Source_Ptr;
6511 +      Entry_Call_Statement         : Node_Id;
6512 +      Statements                   : List_Id := Empty_List;
6513 +      Pragmas_Before               : List_Id := No_List)
6514 +      return Node_Id;
6515 +   pragma Inline (Make_Entry_Call_Alternative);
6516 +
6517 +   function Make_Conditional_Entry_Call (Sloc : Source_Ptr;
6518 +      Entry_Call_Alternative       : Node_Id;
6519 +      Else_Statements              : List_Id)
6520 +      return Node_Id;
6521 +   pragma Inline (Make_Conditional_Entry_Call);
6522 +
6523 +   function Make_Asynchronous_Select (Sloc : Source_Ptr;
6524 +      Triggering_Alternative       : Node_Id;
6525 +      Abortable_Part               : Node_Id)
6526 +      return Node_Id;
6527 +   pragma Inline (Make_Asynchronous_Select);
6528 +
6529 +   function Make_Triggering_Alternative (Sloc : Source_Ptr;
6530 +      Triggering_Statement         : Node_Id;
6531 +      Statements                   : List_Id := Empty_List;
6532 +      Pragmas_Before               : List_Id := No_List)
6533 +      return Node_Id;
6534 +   pragma Inline (Make_Triggering_Alternative);
6535 +
6536 +   function Make_Abortable_Part (Sloc : Source_Ptr;
6537 +      Statements                   : List_Id)
6538 +      return Node_Id;
6539 +   pragma Inline (Make_Abortable_Part);
6540 +
6541 +   function Make_Abort_Statement (Sloc : Source_Ptr;
6542 +      Names                        : List_Id)
6543 +      return Node_Id;
6544 +   pragma Inline (Make_Abort_Statement);
6545 +
6546 +   function Make_Compilation_Unit (Sloc : Source_Ptr;
6547 +      Context_Items                : List_Id;
6548 +      Private_Present              : Boolean := False;
6549 +      Unit                         : Node_Id;
6550 +      Aux_Decls_Node               : Node_Id)
6551 +      return Node_Id;
6552 +   pragma Inline (Make_Compilation_Unit);
6553 +
6554 +   function Make_Compilation_Unit_Aux (Sloc : Source_Ptr;
6555 +      Declarations                 : List_Id := No_List;
6556 +      Actions                      : List_Id := No_List;
6557 +      Pragmas_After                : List_Id := No_List;
6558 +      Config_Pragmas               : List_Id := Empty_List)
6559 +      return Node_Id;
6560 +   pragma Inline (Make_Compilation_Unit_Aux);
6561 +
6562 +   function Make_With_Clause (Sloc : Source_Ptr;
6563 +      Name                         : Node_Id;
6564 +      First_Name                   : Boolean := True;
6565 +      Last_Name                    : Boolean := True;
6566 +      Limited_Present              : Boolean := False)
6567 +      return Node_Id;
6568 +   pragma Inline (Make_With_Clause);
6569 +
6570 +   function Make_With_Type_Clause (Sloc : Source_Ptr;
6571 +      Name                         : Node_Id;
6572 +      Tagged_Present               : Boolean := False)
6573 +      return Node_Id;
6574 +   pragma Inline (Make_With_Type_Clause);
6575 +
6576 +   function Make_Subprogram_Body_Stub (Sloc : Source_Ptr;
6577 +      Specification                : Node_Id)
6578 +      return Node_Id;
6579 +   pragma Inline (Make_Subprogram_Body_Stub);
6580 +
6581 +   function Make_Package_Body_Stub (Sloc : Source_Ptr;
6582 +      Defining_Identifier          : Node_Id)
6583 +      return Node_Id;
6584 +   pragma Inline (Make_Package_Body_Stub);
6585 +
6586 +   function Make_Task_Body_Stub (Sloc : Source_Ptr;
6587 +      Defining_Identifier          : Node_Id)
6588 +      return Node_Id;
6589 +   pragma Inline (Make_Task_Body_Stub);
6590 +
6591 +   function Make_Protected_Body_Stub (Sloc : Source_Ptr;
6592 +      Defining_Identifier          : Node_Id)
6593 +      return Node_Id;
6594 +   pragma Inline (Make_Protected_Body_Stub);
6595 +
6596 +   function Make_Subunit (Sloc : Source_Ptr;
6597 +      Name                         : Node_Id;
6598 +      Proper_Body                  : Node_Id)
6599 +      return Node_Id;
6600 +   pragma Inline (Make_Subunit);
6601 +
6602 +   function Make_Exception_Declaration (Sloc : Source_Ptr;
6603 +      Defining_Identifier          : Node_Id)
6604 +      return Node_Id;
6605 +   pragma Inline (Make_Exception_Declaration);
6606 +
6607 +   function Make_Handled_Sequence_Of_Statements (Sloc : Source_Ptr;
6608 +      Statements                   : List_Id;
6609 +      End_Label                    : Node_Id := Empty;
6610 +      Exception_Handlers           : List_Id := No_List;
6611 +      At_End_Proc                  : Node_Id := Empty)
6612 +      return Node_Id;
6613 +   pragma Inline (Make_Handled_Sequence_Of_Statements);
6614 +
6615 +   function Make_Exception_Handler (Sloc : Source_Ptr;
6616 +      Choice_Parameter             : Node_Id := Empty;
6617 +      Exception_Choices            : List_Id;
6618 +      Statements                   : List_Id)
6619 +      return Node_Id;
6620 +   pragma Inline (Make_Exception_Handler);
6621 +
6622 +   function Make_Raise_Statement (Sloc : Source_Ptr;
6623 +      Name                         : Node_Id := Empty)
6624 +      return Node_Id;
6625 +   pragma Inline (Make_Raise_Statement);
6626 +
6627 +   function Make_Generic_Subprogram_Declaration (Sloc : Source_Ptr;
6628 +      Specification                : Node_Id;
6629 +      Generic_Formal_Declarations  : List_Id)
6630 +      return Node_Id;
6631 +   pragma Inline (Make_Generic_Subprogram_Declaration);
6632 +
6633 +   function Make_Generic_Package_Declaration (Sloc : Source_Ptr;
6634 +      Specification                : Node_Id;
6635 +      Generic_Formal_Declarations  : List_Id)
6636 +      return Node_Id;
6637 +   pragma Inline (Make_Generic_Package_Declaration);
6638 +
6639 +   function Make_Package_Instantiation (Sloc : Source_Ptr;
6640 +      Defining_Unit_Name           : Node_Id;
6641 +      Name                         : Node_Id;
6642 +      Generic_Associations         : List_Id := No_List)
6643 +      return Node_Id;
6644 +   pragma Inline (Make_Package_Instantiation);
6645 +
6646 +   function Make_Procedure_Instantiation (Sloc : Source_Ptr;
6647 +      Defining_Unit_Name           : Node_Id;
6648 +      Name                         : Node_Id;
6649 +      Generic_Associations         : List_Id := No_List)
6650 +      return Node_Id;
6651 +   pragma Inline (Make_Procedure_Instantiation);
6652 +
6653 +   function Make_Function_Instantiation (Sloc : Source_Ptr;
6654 +      Defining_Unit_Name           : Node_Id;
6655 +      Name                         : Node_Id;
6656 +      Generic_Associations         : List_Id := No_List)
6657 +      return Node_Id;
6658 +   pragma Inline (Make_Function_Instantiation);
6659 +
6660 +   function Make_Generic_Association (Sloc : Source_Ptr;
6661 +      Selector_Name                : Node_Id := Empty;
6662 +      Explicit_Generic_Actual_Parameter : Node_Id)
6663 +      return Node_Id;
6664 +   pragma Inline (Make_Generic_Association);
6665 +
6666 +   function Make_Formal_Object_Declaration (Sloc : Source_Ptr;
6667 +      Defining_Identifier          : Node_Id;
6668 +      In_Present                   : Boolean := False;
6669 +      Out_Present                  : Boolean := False;
6670 +      Subtype_Mark                 : Node_Id;
6671 +      Expression                   : Node_Id := Empty)
6672 +      return Node_Id;
6673 +   pragma Inline (Make_Formal_Object_Declaration);
6674 +
6675 +   function Make_Formal_Type_Declaration (Sloc : Source_Ptr;
6676 +      Defining_Identifier          : Node_Id;
6677 +      Formal_Type_Definition       : Node_Id;
6678 +      Discriminant_Specifications  : List_Id := No_List;
6679 +      Unknown_Discriminants_Present : Boolean := False)
6680 +      return Node_Id;
6681 +   pragma Inline (Make_Formal_Type_Declaration);
6682 +
6683 +   function Make_Formal_Private_Type_Definition (Sloc : Source_Ptr;
6684 +      Abstract_Present             : Boolean := False;
6685 +      Tagged_Present               : Boolean := False;
6686 +      Limited_Present              : Boolean := False)
6687 +      return Node_Id;
6688 +   pragma Inline (Make_Formal_Private_Type_Definition);
6689 +
6690 +   function Make_Formal_Derived_Type_Definition (Sloc : Source_Ptr;
6691 +      Subtype_Mark                 : Node_Id;
6692 +      Private_Present              : Boolean := False;
6693 +      Abstract_Present             : Boolean := False)
6694 +      return Node_Id;
6695 +   pragma Inline (Make_Formal_Derived_Type_Definition);
6696 +
6697 +   function Make_Formal_Discrete_Type_Definition (Sloc : Source_Ptr)
6698 +      return Node_Id;
6699 +   pragma Inline (Make_Formal_Discrete_Type_Definition);
6700 +
6701 +   function Make_Formal_Signed_Integer_Type_Definition (Sloc : Source_Ptr)
6702 +      return Node_Id;
6703 +   pragma Inline (Make_Formal_Signed_Integer_Type_Definition);
6704 +
6705 +   function Make_Formal_Modular_Type_Definition (Sloc : Source_Ptr)
6706 +      return Node_Id;
6707 +   pragma Inline (Make_Formal_Modular_Type_Definition);
6708 +
6709 +   function Make_Formal_Floating_Point_Definition (Sloc : Source_Ptr)
6710 +      return Node_Id;
6711 +   pragma Inline (Make_Formal_Floating_Point_Definition);
6712 +
6713 +   function Make_Formal_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr)
6714 +      return Node_Id;
6715 +   pragma Inline (Make_Formal_Ordinary_Fixed_Point_Definition);
6716 +
6717 +   function Make_Formal_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr)
6718 +      return Node_Id;
6719 +   pragma Inline (Make_Formal_Decimal_Fixed_Point_Definition);
6720 +
6721 +   function Make_Formal_Subprogram_Declaration (Sloc : Source_Ptr;
6722 +      Specification                : Node_Id;
6723 +      Default_Name                 : Node_Id := Empty;
6724 +      Box_Present                  : Boolean := False)
6725 +      return Node_Id;
6726 +   pragma Inline (Make_Formal_Subprogram_Declaration);
6727 +
6728 +   function Make_Formal_Package_Declaration (Sloc : Source_Ptr;
6729 +      Defining_Identifier          : Node_Id;
6730 +      Name                         : Node_Id;
6731 +      Generic_Associations         : List_Id := No_List;
6732 +      Box_Present                  : Boolean := False)
6733 +      return Node_Id;
6734 +   pragma Inline (Make_Formal_Package_Declaration);
6735 +
6736 +   function Make_Attribute_Definition_Clause (Sloc : Source_Ptr;
6737 +      Name                         : Node_Id;
6738 +      Chars                        : Name_Id;
6739 +      Expression                   : Node_Id)
6740 +      return Node_Id;
6741 +   pragma Inline (Make_Attribute_Definition_Clause);
6742 +
6743 +   function Make_Enumeration_Representation_Clause (Sloc : Source_Ptr;
6744 +      Identifier                   : Node_Id;
6745 +      Array_Aggregate              : Node_Id)
6746 +      return Node_Id;
6747 +   pragma Inline (Make_Enumeration_Representation_Clause);
6748 +
6749 +   function Make_Record_Representation_Clause (Sloc : Source_Ptr;
6750 +      Identifier                   : Node_Id;
6751 +      Mod_Clause                   : Node_Id := Empty;
6752 +      Component_Clauses            : List_Id)
6753 +      return Node_Id;
6754 +   pragma Inline (Make_Record_Representation_Clause);
6755 +
6756 +   function Make_Component_Clause (Sloc : Source_Ptr;
6757 +      Component_Name               : Node_Id;
6758 +      Position                     : Node_Id;
6759 +      First_Bit                    : Node_Id;
6760 +      Last_Bit                     : Node_Id)
6761 +      return Node_Id;
6762 +   pragma Inline (Make_Component_Clause);
6763 +
6764 +   function Make_Code_Statement (Sloc : Source_Ptr;
6765 +      Expression                   : Node_Id)
6766 +      return Node_Id;
6767 +   pragma Inline (Make_Code_Statement);
6768 +
6769 +   function Make_Op_Rotate_Left (Sloc : Source_Ptr;
6770 +      Left_Opnd                    : Node_Id;
6771 +      Right_Opnd                   : Node_Id)
6772 +      return Node_Id;
6773 +   pragma Inline (Make_Op_Rotate_Left);
6774 +
6775 +   function Make_Op_Rotate_Right (Sloc : Source_Ptr;
6776 +      Left_Opnd                    : Node_Id;
6777 +      Right_Opnd                   : Node_Id)
6778 +      return Node_Id;
6779 +   pragma Inline (Make_Op_Rotate_Right);
6780 +
6781 +   function Make_Op_Shift_Left (Sloc : Source_Ptr;
6782 +      Left_Opnd                    : Node_Id;
6783 +      Right_Opnd                   : Node_Id)
6784 +      return Node_Id;
6785 +   pragma Inline (Make_Op_Shift_Left);
6786 +
6787 +   function Make_Op_Shift_Right_Arithmetic (Sloc : Source_Ptr;
6788 +      Left_Opnd                    : Node_Id;
6789 +      Right_Opnd                   : Node_Id)
6790 +      return Node_Id;
6791 +   pragma Inline (Make_Op_Shift_Right_Arithmetic);
6792 +
6793 +   function Make_Op_Shift_Right (Sloc : Source_Ptr;
6794 +      Left_Opnd                    : Node_Id;
6795 +      Right_Opnd                   : Node_Id)
6796 +      return Node_Id;
6797 +   pragma Inline (Make_Op_Shift_Right);
6798 +
6799 +   function Make_Delta_Constraint (Sloc : Source_Ptr;
6800 +      Delta_Expression             : Node_Id;
6801 +      Range_Constraint             : Node_Id := Empty)
6802 +      return Node_Id;
6803 +   pragma Inline (Make_Delta_Constraint);
6804 +
6805 +   function Make_At_Clause (Sloc : Source_Ptr;
6806 +      Identifier                   : Node_Id;
6807 +      Expression                   : Node_Id)
6808 +      return Node_Id;
6809 +   pragma Inline (Make_At_Clause);
6810 +
6811 +   function Make_Mod_Clause (Sloc : Source_Ptr;
6812 +      Expression                   : Node_Id;
6813 +      Pragmas_Before               : List_Id)
6814 +      return Node_Id;
6815 +   pragma Inline (Make_Mod_Clause);
6816 +
6817 +   function Make_Conditional_Expression (Sloc : Source_Ptr;
6818 +      Expressions                  : List_Id)
6819 +      return Node_Id;
6820 +   pragma Inline (Make_Conditional_Expression);
6821 +
6822 +   function Make_Expanded_Name (Sloc : Source_Ptr;
6823 +      Chars                        : Name_Id;
6824 +      Prefix                       : Node_Id;
6825 +      Selector_Name                : Node_Id)
6826 +      return Node_Id;
6827 +   pragma Inline (Make_Expanded_Name);
6828 +
6829 +   function Make_Free_Statement (Sloc : Source_Ptr;
6830 +      Expression                   : Node_Id)
6831 +      return Node_Id;
6832 +   pragma Inline (Make_Free_Statement);
6833 +
6834 +   function Make_Freeze_Entity (Sloc : Source_Ptr;
6835 +      Actions                      : List_Id := No_List)
6836 +      return Node_Id;
6837 +   pragma Inline (Make_Freeze_Entity);
6838 +
6839 +   function Make_Implicit_Label_Declaration (Sloc : Source_Ptr;
6840 +      Defining_Identifier          : Node_Id)
6841 +      return Node_Id;
6842 +   pragma Inline (Make_Implicit_Label_Declaration);
6843 +
6844 +   function Make_Itype_Reference (Sloc : Source_Ptr)
6845 +      return Node_Id;
6846 +   pragma Inline (Make_Itype_Reference);
6847 +
6848 +   function Make_Raise_Constraint_Error (Sloc : Source_Ptr;
6849 +      Condition                    : Node_Id := Empty;
6850 +      Reason                       : Uint)
6851 +      return Node_Id;
6852 +   pragma Inline (Make_Raise_Constraint_Error);
6853 +
6854 +   function Make_Raise_Program_Error (Sloc : Source_Ptr;
6855 +      Condition                    : Node_Id := Empty;
6856 +      Reason                       : Uint)
6857 +      return Node_Id;
6858 +   pragma Inline (Make_Raise_Program_Error);
6859 +
6860 +   function Make_Raise_Storage_Error (Sloc : Source_Ptr;
6861 +      Condition                    : Node_Id := Empty;
6862 +      Reason                       : Uint)
6863 +      return Node_Id;
6864 +   pragma Inline (Make_Raise_Storage_Error);
6865 +
6866 +   function Make_Reference (Sloc : Source_Ptr;
6867 +      Prefix                       : Node_Id)
6868 +      return Node_Id;
6869 +   pragma Inline (Make_Reference);
6870 +
6871 +   function Make_Subprogram_Info (Sloc : Source_Ptr;
6872 +      Identifier                   : Node_Id)
6873 +      return Node_Id;
6874 +   pragma Inline (Make_Subprogram_Info);
6875 +
6876 +   function Make_Unchecked_Expression (Sloc : Source_Ptr;
6877 +      Expression                   : Node_Id)
6878 +      return Node_Id;
6879 +   pragma Inline (Make_Unchecked_Expression);
6880 +
6881 +   function Make_Unchecked_Type_Conversion (Sloc : Source_Ptr;
6882 +      Subtype_Mark                 : Node_Id;
6883 +      Expression                   : Node_Id)
6884 +      return Node_Id;
6885 +   pragma Inline (Make_Unchecked_Type_Conversion);
6886 +
6887 +   function Make_Validate_Unchecked_Conversion (Sloc : Source_Ptr)
6888 +      return Node_Id;
6889 +   pragma Inline (Make_Validate_Unchecked_Conversion);
6890 +
6891 +end Nmake;
6892 --- gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/treeprs.ads.orig      1970-01-01 01:00:00.000000000 +0100
6893 +++ gcc-3.4.0/obj-amd64-pld-linux/gcc/ada/treeprs.ads   2004-06-02 00:54:11.000000000 +0200
6894 @@ -0,0 +1,801 @@
6895 +------------------------------------------------------------------------------
6896 +--                                                                          --
6897 +--                         GNAT COMPILER COMPONENTS                         --
6898 +--                                                                          --
6899 +--                              T R E E P R S                               --
6900 +--                                                                          --
6901 +--                                 S p e c                                  --
6902 +--                                                                          --
6903 +--          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
6904 +--                                                                          --
6905 +-- GNAT is free software;  you can  redistribute it  and/or modify it under --
6906 +-- terms of the  GNU General Public License as published  by the Free Soft- --
6907 +-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
6908 +-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
6909 +-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
6910 +-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
6911 +-- for  more details.  You should have  received  a copy of the GNU General --
6912 +-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
6913 +-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
6914 +-- MA 02111-1307, USA.                                                      --
6915 +--                                                                          --
6916 +-- GNAT was originally developed  by the GNAT team at  New York University. --
6917 +-- Extensive contributions were provided by Ada Core Technologies Inc.      --
6918 +--                                                                          --
6919 +------------------------------------------------------------------------------
6920 +
6921 +
6922 +--  This package contains the declaration of the string used by the Tree_Print
6923 +--  package. It must be updated whenever the arrangements of the field names
6924 +--  in package Sinfo is changed. The utility program XTREEPRS is used to
6925 +--  do this update correctly using the template treeprs.adt as input.
6926 +
6927 +with Sinfo; use Sinfo;
6928 +
6929 +package Treeprs is
6930 +
6931 +   --------------------------------
6932 +   -- String Data for Node Print --
6933 +   --------------------------------
6934 +
6935 +   --  String data for print out. The Pchars array is a long string with the
6936 +   --  the entry for each node type consisting of a single blank, followed by
6937 +   --  a series of entries, one for each Op or Flag field used for the node.
6938 +   --  Each entry has a single character which identifies the field, followed
6939 +   --  by the synonym name. The starting location for a given node type is
6940 +   --  found from the corresponding entry in the Pchars_Pos_Array.
6941 +
6942 +   --  The following characters identify the field. These are characters
6943 +   --  which  could never occur in a field name, so they also mark the
6944 +   --  end of the previous name.
6945 +
6946 +   subtype Fchar is Character range '#' .. '9';
6947 +
6948 +   F_Field1     : constant Fchar := '#'; -- Character'Val (16#23#)
6949 +   F_Field2     : constant Fchar := '$'; -- Character'Val (16#24#)
6950 +   F_Field3     : constant Fchar := '%'; -- Character'Val (16#25#)
6951 +   F_Field4     : constant Fchar := '&'; -- Character'Val (16#26#)
6952 +   F_Field5     : constant Fchar := '''; -- Character'Val (16#27#)
6953 +   F_Flag1      : constant Fchar := '('; -- Character'Val (16#28#)
6954 +   F_Flag2      : constant Fchar := ')'; -- Character'Val (16#29#)
6955 +   F_Flag3      : constant Fchar := '*'; -- Character'Val (16#2A#)
6956 +   F_Flag4      : constant Fchar := '+'; -- Character'Val (16#2B#)
6957 +   F_Flag5      : constant Fchar := ','; -- Character'Val (16#2C#)
6958 +   F_Flag6      : constant Fchar := '-'; -- Character'Val (16#2D#)
6959 +   F_Flag7      : constant Fchar := '.'; -- Character'Val (16#2E#)
6960 +   F_Flag8      : constant Fchar := '/'; -- Character'Val (16#2F#)
6961 +   F_Flag9      : constant Fchar := '0'; -- Character'Val (16#30#)
6962 +   F_Flag10     : constant Fchar := '1'; -- Character'Val (16#31#)
6963 +   F_Flag11     : constant Fchar := '2'; -- Character'Val (16#32#)
6964 +   F_Flag12     : constant Fchar := '3'; -- Character'Val (16#33#)
6965 +   F_Flag13     : constant Fchar := '4'; -- Character'Val (16#34#)
6966 +   F_Flag14     : constant Fchar := '5'; -- Character'Val (16#35#)
6967 +   F_Flag15     : constant Fchar := '6'; -- Character'Val (16#36#)
6968 +   F_Flag16     : constant Fchar := '7'; -- Character'Val (16#37#)
6969 +   F_Flag17     : constant Fchar := '8'; -- Character'Val (16#38#)
6970 +   F_Flag18     : constant Fchar := '9'; -- Character'Val (16#39#)
6971 +
6972 +   --  Note this table does not include entity field and flags whose access
6973 +   --  functions are in Einfo (these are handled by the Print_Entity_Info
6974 +   --  procedure in Treepr, which uses the routines in Einfo to get the
6975 +   --  proper symbolic information). In addition, the following fields are
6976 +   --  handled by Treepr, and do not appear in the Pchars array:
6977 +
6978 +   --    Analyzed
6979 +   --    Cannot_Be_Constant
6980 +   --    Chars
6981 +   --    Comes_From_Source
6982 +   --    Error_Posted
6983 +   --    Etype
6984 +   --    Is_Controlling_Actual
6985 +   --    Is_Overloaded
6986 +   --    Is_Static_Expression
6987 +   --    Left_Opnd
6988 +   --    Must_Check_Expr
6989 +   --    Must_Not_Freeze
6990 +   --    No_Overflow_Expr
6991 +   --    Paren_Count
6992 +   --    Raises_Constraint_Error
6993 +   --    Right_Opnd
6994 +
6995 +   Pchars : constant String :=
6996 +      --  Unused_At_Start
6997 +      "" &
6998 +      --  At_Clause
6999 +      "#Identifier%Expression" &
7000 +      --  Component_Clause
7001 +      "#Component_Name$Position%First_Bit&Last_Bit" &
7002 +      --  Enumeration_Representation_Clause
7003 +      "#Identifier%Array_Aggregate&Next_Rep_Item" &
7004 +      --  Mod_Clause
7005 +      "%Expression&Pragmas_Before" &
7006 +      --  Record_Representation_Clause
7007 +      "#Identifier$Mod_Clause%Component_Clauses&Next_Rep_Item" &
7008 +      --  Attribute_Definition_Clause
7009 +      "$Name%Expression&Next_Rep_Item+From_At_Mod2Check_Address_Alignment" &
7010 +      --  Empty
7011 +      "" &
7012 +      --  Pragma
7013 +      "$Pragma_Argument_Associations%Debug_Statement&Next_Rep_Item" &
7014 +      --  Pragma_Argument_Association
7015 +      "%Expression" &
7016 +      --  Error
7017 +      "" &
7018 +      --  Defining_Character_Literal
7019 +      "$Next_Entity%Scope" &
7020 +      --  Defining_Identifier
7021 +      "$Next_Entity%Scope" &
7022 +      --  Defining_Operator_Symbol
7023 +      "$Next_Entity%Scope" &
7024 +      --  Expanded_Name
7025 +      "%Prefix$Selector_Name&Entity&Associated_Node4Redundant_Use2Has_Privat" &
7026 +         "e_View" &
7027 +      --  Identifier
7028 +      "&Entity&Associated_Node$Original_Discriminant4Redundant_Use2Has_Priva" &
7029 +         "te_View" &
7030 +      --  Operator_Symbol
7031 +      "%Strval&Entity&Associated_Node2Has_Private_View" &
7032 +      --  Character_Literal
7033 +      "$Char_Literal_Value&Entity&Associated_Node2Has_Private_View" &
7034 +      --  Op_Add
7035 +      "" &
7036 +      --  Op_Concat
7037 +      "4Is_Component_Left_Opnd5Is_Component_Right_Opnd" &
7038 +      --  Op_Expon
7039 +      "4Is_Power_Of_2_For_Shift" &
7040 +      --  Op_Subtract
7041 +      "" &
7042 +      --  Op_Divide
7043 +      "5Treat_Fixed_As_Integer4Do_Division_Check9Rounded_Result" &
7044 +      --  Op_Mod
7045 +      "5Treat_Fixed_As_Integer4Do_Division_Check" &
7046 +      --  Op_Multiply
7047 +      "5Treat_Fixed_As_Integer9Rounded_Result" &
7048 +      --  Op_Rem
7049 +      "5Treat_Fixed_As_Integer4Do_Division_Check" &
7050 +      --  Op_And
7051 +      "+Do_Length_Check" &
7052 +      --  Op_Eq
7053 +      "" &
7054 +      --  Op_Ge
7055 +      "" &
7056 +      --  Op_Gt
7057 +      "" &
7058 +      --  Op_Le
7059 +      "" &
7060 +      --  Op_Lt
7061 +      "" &
7062 +      --  Op_Ne
7063 +      "" &
7064 +      --  Op_Or
7065 +      "+Do_Length_Check" &
7066 +      --  Op_Xor
7067 +      "+Do_Length_Check" &
7068 +      --  Op_Rotate_Left
7069 +      "+Shift_Count_OK" &
7070 +      --  Op_Rotate_Right
7071 +      "+Shift_Count_OK" &
7072 +      --  Op_Shift_Left
7073 +      "+Shift_Count_OK" &
7074 +      --  Op_Shift_Right
7075 +      "+Shift_Count_OK" &
7076 +      --  Op_Shift_Right_Arithmetic
7077 +      "+Shift_Count_OK" &
7078 +      --  Op_Abs
7079 +      "" &
7080 +      --  Op_Minus
7081 +      "" &
7082 +      --  Op_Not
7083 +      "" &
7084 +      --  Op_Plus
7085 +      "" &
7086 +      --  Attribute_Reference
7087 +      "%Prefix$Attribute_Name#Expressions&Entity&Associated_Node8Do_Overflow" &
7088 +         "_Check4Redundant_Use+OK_For_Stream5Must_Be_Byte_Aligned" &
7089 +      --  And_Then
7090 +      "#Actions" &
7091 +      --  Conditional_Expression
7092 +      "#Expressions$Then_Actions%Else_Actions" &
7093 +      --  Explicit_Dereference
7094 +      "%Prefix" &
7095 +      --  Function_Call
7096 +      "$Name%Parameter_Associations&First_Named_Actual#Controlling_Argument4" &
7097 +         "Do_Tag_Check5No_Elaboration_Check8Parameter_List_Truncated9ABE_Is_" &
7098 +         "Certain" &
7099 +      --  In
7100 +      "" &
7101 +      --  Indexed_Component
7102 +      "%Prefix#Expressions" &
7103 +      --  Integer_Literal
7104 +      "$Original_Entity%Intval4Print_In_Hex" &
7105 +      --  Not_In
7106 +      "" &
7107 +      --  Null
7108 +      "" &
7109 +      --  Or_Else
7110 +      "#Actions" &
7111 +      --  Procedure_Call_Statement
7112 +      "$Name%Parameter_Associations&First_Named_Actual#Controlling_Argument4" &
7113 +         "Do_Tag_Check5No_Elaboration_Check8Parameter_List_Truncated9ABE_Is_" &
7114 +         "Certain" &
7115 +      --  Qualified_Expression
7116 +      "&Subtype_Mark%Expression" &
7117 +      --  Raise_Constraint_Error
7118 +      "#Condition%Reason" &
7119 +      --  Raise_Program_Error
7120 +      "#Condition%Reason" &
7121 +      --  Raise_Storage_Error
7122 +      "#Condition%Reason" &
7123 +      --  Aggregate
7124 +      "#Expressions$Component_Associations8Null_Record_Present%Aggregate_Bou" &
7125 +         "nds&Associated_Node+Static_Processing_OK9Compile_Time_Known_Aggreg" &
7126 +         "ate2Expansion_Delayed" &
7127 +      --  Allocator
7128 +      "%Expression#Storage_Pool&Procedure_To_Call4No_Initialization8Do_Stora" &
7129 +         "ge_Check" &
7130 +      --  Extension_Aggregate
7131 +      "%Ancestor_Part&Associated_Node#Expressions$Component_Associations8Nul" &
7132 +         "l_Record_Present2Expansion_Delayed" &
7133 +      --  Range
7134 +      "#Low_Bound$High_Bound2Includes_Infinities" &
7135 +      --  Real_Literal
7136 +      "$Original_Entity%Realval&Corresponding_Integer_Value2Is_Machine_Numbe" &
7137 +         "r" &
7138 +      --  Reference
7139 +      "%Prefix" &
7140 +      --  Selected_Component
7141 +      "%Prefix$Selector_Name&Associated_Node4Do_Discriminant_Check2Is_In_Dis" &
7142 +         "criminant_Check" &
7143 +      --  Slice
7144 +      "%Prefix&Discrete_Range" &
7145 +      --  String_Literal
7146 +      "%Strval2Has_Wide_Character" &
7147 +      --  Subprogram_Info
7148 +      "#Identifier" &
7149 +      --  Type_Conversion
7150 +      "&Subtype_Mark%Expression4Do_Tag_Check+Do_Length_Check8Do_Overflow_Che" &
7151 +         "ck2Float_Truncate9Rounded_Result5Conversion_OK" &
7152 +      --  Unchecked_Expression
7153 +      "%Expression" &
7154 +      --  Unchecked_Type_Conversion
7155 +      "&Subtype_Mark%Expression2Kill_Range_Check8No_Truncation" &
7156 +      --  Subtype_Indication
7157 +      "&Subtype_Mark%Constraint/Must_Not_Freeze" &
7158 +      --  Component_Declaration
7159 +      "#Defining_Identifier&Component_Definition%Expression,More_Ids-Prev_Id" &
7160 +         "s" &
7161 +      --  Entry_Declaration
7162 +      "#Defining_Identifier&Discrete_Subtype_Definition%Parameter_Specificat" &
7163 +         "ions'Corresponding_Body" &
7164 +      --  Formal_Object_Declaration
7165 +      "#Defining_Identifier6In_Present8Out_Present&Subtype_Mark%Expression,M" &
7166 +         "ore_Ids-Prev_Ids" &
7167 +      --  Formal_Type_Declaration
7168 +      "#Defining_Identifier%Formal_Type_Definition&Discriminant_Specificatio" &
7169 +         "ns4Unknown_Discriminants_Present" &
7170 +      --  Full_Type_Declaration
7171 +      "#Defining_Identifier&Discriminant_Specifications%Type_Definition2Disc" &
7172 +         "r_Check_Funcs_Built" &
7173 +      --  Incomplete_Type_Declaration
7174 +      "#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
7175 +         "s_Present" &
7176 +      --  Loop_Parameter_Specification
7177 +      "#Defining_Identifier6Reverse_Present&Discrete_Subtype_Definition" &
7178 +      --  Object_Declaration
7179 +      "#Defining_Identifier+Aliased_Present8Constant_Present&Object_Definiti" &
7180 +         "on%Expression$Handler_List_Entry'Corresponding_Generic_Association" &
7181 +         ",More_Ids-Prev_Ids4No_Initialization6Assignment_OK2Exception_Junk5" &
7182 +         "Delay_Finalize_Attach7Is_Subprogram_Descriptor" &
7183 +      --  Protected_Type_Declaration
7184 +      "#Defining_Identifier&Discriminant_Specifications%Protected_Definition" &
7185 +         "'Corresponding_Body" &
7186 +      --  Private_Extension_Declaration
7187 +      "#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
7188 +         "s_Present+Abstract_Present'Subtype_Indication" &
7189 +      --  Private_Type_Declaration
7190 +      "#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
7191 +         "s_Present+Abstract_Present6Tagged_Present8Limited_Present" &
7192 +      --  Subtype_Declaration
7193 +      "#Defining_Identifier'Subtype_Indication&Generic_Parent_Type2Exception" &
7194 +         "_Junk" &
7195 +      --  Function_Specification
7196 +      "#Defining_Unit_Name$Elaboration_Boolean%Parameter_Specifications&Subt" &
7197 +         "ype_Mark'Generic_Parent" &
7198 +      --  Procedure_Specification
7199 +      "#Defining_Unit_Name$Elaboration_Boolean%Parameter_Specifications'Gene" &
7200 +         "ric_Parent" &
7201 +      --  Entry_Index_Specification
7202 +      "#Defining_Identifier&Discrete_Subtype_Definition" &
7203 +      --  Freeze_Entity
7204 +      "&Entity$Access_Types_To_Process%TSS_Elist#Actions'First_Subtype_Link" &
7205 +      --  Access_Function_Definition
7206 +      "6Protected_Present%Parameter_Specifications&Subtype_Mark" &
7207 +      --  Access_Procedure_Definition
7208 +      "6Protected_Present%Parameter_Specifications" &
7209 +      --  Task_Type_Declaration
7210 +      "#Defining_Identifier$Task_Body_Procedure&Discriminant_Specifications%" &
7211 +         "Task_Definition'Corresponding_Body" &
7212 +      --  Package_Body_Stub
7213 +      "#Defining_Identifier&Library_Unit'Corresponding_Body" &
7214 +      --  Protected_Body_Stub
7215 +      "#Defining_Identifier&Library_Unit'Corresponding_Body" &
7216 +      --  Subprogram_Body_Stub
7217 +      "#Specification&Library_Unit'Corresponding_Body" &
7218 +      --  Task_Body_Stub
7219 +      "#Defining_Identifier&Library_Unit'Corresponding_Body" &
7220 +      --  Function_Instantiation
7221 +      "#Defining_Unit_Name$Name%Generic_Associations&Parent_Spec'Instance_Sp" &
7222 +         "ec9ABE_Is_Certain" &
7223 +      --  Package_Instantiation
7224 +      "#Defining_Unit_Name$Name%Generic_Associations&Parent_Spec'Instance_Sp" &
7225 +         "ec9ABE_Is_Certain" &
7226 +      --  Procedure_Instantiation
7227 +      "#Defining_Unit_Name$Name&Parent_Spec%Generic_Associations'Instance_Sp" &
7228 +         "ec9ABE_Is_Certain" &
7229 +      --  Package_Body
7230 +      "#Defining_Unit_Name$Declarations&Handled_Statement_Sequence'Correspon" &
7231 +         "ding_Spec4Was_Originally_Stub" &
7232 +      --  Subprogram_Body
7233 +      "#Specification$Declarations&Handled_Statement_Sequence%Activation_Cha" &
7234 +         "in_Entity'Corresponding_Spec+Acts_As_Spec6Bad_Is_Detected8Do_Stora" &
7235 +         "ge_Check-Has_Priority_Pragma.Is_Protected_Subprogram_Body,Is_Task_" &
7236 +         "Master4Was_Originally_Stub" &
7237 +      --  Protected_Body
7238 +      "#Defining_Identifier$Declarations&End_Label'Corresponding_Spec4Was_Or" &
7239 +         "iginally_Stub" &
7240 +      --  Task_Body
7241 +      "#Defining_Identifier$Declarations&Handled_Statement_Sequence,Is_Task_" &
7242 +         "Master%Activation_Chain_Entity'Corresponding_Spec4Was_Originally_S" &
7243 +         "tub" &
7244 +      --  Implicit_Label_Declaration
7245 +      "#Defining_Identifier$Label_Construct" &
7246 +      --  Package_Declaration
7247 +      "#Specification'Corresponding_Body&Parent_Spec%Activation_Chain_Entity" &
7248 +      --  Single_Task_Declaration
7249 +      "#Defining_Identifier%Task_Definition" &
7250 +      --  Subprogram_Declaration
7251 +      "#Specification%Body_To_Inline'Corresponding_Body&Parent_Spec" &
7252 +      --  Use_Package_Clause
7253 +      "$Names%Next_Use_Clause&Hidden_By_Use_Clause" &
7254 +      --  Generic_Package_Declaration
7255 +      "#Specification'Corresponding_Body$Generic_Formal_Declarations&Parent_" &
7256 +         "Spec%Activation_Chain_Entity" &
7257 +      --  Generic_Subprogram_Declaration
7258 +      "#Specification'Corresponding_Body$Generic_Formal_Declarations&Parent_" &
7259 +         "Spec" &
7260 +      --  Constrained_Array_Definition
7261 +      "$Discrete_Subtype_Definitions&Component_Definition" &
7262 +      --  Unconstrained_Array_Definition
7263 +      "$Subtype_Marks&Component_Definition" &
7264 +      --  Exception_Renaming_Declaration
7265 +      "#Defining_Identifier$Name" &
7266 +      --  Object_Renaming_Declaration
7267 +      "#Defining_Identifier&Subtype_Mark$Name'Corresponding_Generic_Associat" &
7268 +         "ion" &
7269 +      --  Package_Renaming_Declaration
7270 +      "#Defining_Unit_Name$Name&Parent_Spec" &
7271 +      --  Subprogram_Renaming_Declaration
7272 +      "#Specification$Name&Parent_Spec'Corresponding_Spec" &
7273 +      --  Generic_Function_Renaming_Declaration
7274 +      "#Defining_Unit_Name$Name&Parent_Spec" &
7275 +      --  Generic_Package_Renaming_Declaration
7276 +      "#Defining_Unit_Name$Name&Parent_Spec" &
7277 +      --  Generic_Procedure_Renaming_Declaration
7278 +      "#Defining_Unit_Name$Name&Parent_Spec" &
7279 +      --  Abort_Statement
7280 +      "$Names" &
7281 +      --  Accept_Statement
7282 +      "#Entry_Direct_Name'Entry_Index%Parameter_Specifications&Handled_State" &
7283 +         "ment_Sequence$Declarations" &
7284 +      --  Assignment_Statement
7285 +      "$Name%Expression4Do_Tag_Check+Do_Length_Check,Forwards_OK-Backwards_O" &
7286 +         "K.No_Ctrl_Actions" &
7287 +      --  Asynchronous_Select
7288 +      "#Triggering_Alternative$Abortable_Part" &
7289 +      --  Block_Statement
7290 +      "#Identifier$Declarations&Handled_Statement_Sequence,Is_Task_Master%Ac" &
7291 +         "tivation_Chain_Entity6Has_Created_Identifier-Is_Task_Allocation_Bl" &
7292 +         "ock.Is_Asynchronous_Call_Block" &
7293 +      --  Case_Statement
7294 +      "%Expression&Alternatives'End_Span" &
7295 +      --  Code_Statement
7296 +      "%Expression" &
7297 +      --  Conditional_Entry_Call
7298 +      "#Entry_Call_Alternative&Else_Statements" &
7299 +      --  Delay_Relative_Statement
7300 +      "%Expression" &
7301 +      --  Delay_Until_Statement
7302 +      "%Expression" &
7303 +      --  Entry_Call_Statement
7304 +      "$Name%Parameter_Associations&First_Named_Actual" &
7305 +      --  Free_Statement
7306 +      "%Expression#Storage_Pool&Procedure_To_Call" &
7307 +      --  Goto_Statement
7308 +      "$Name2Exception_Junk" &
7309 +      --  Loop_Statement
7310 +      "#Identifier$Iteration_Scheme%Statements&End_Label6Has_Created_Identif" &
7311 +         "ier7Is_Null_Loop" &
7312 +      --  Null_Statement
7313 +      "" &
7314 +      --  Raise_Statement
7315 +      "$Name" &
7316 +      --  Requeue_Statement
7317 +      "$Name6Abort_Present" &
7318 +      --  Return_Statement
7319 +      "%Expression#Storage_Pool&Procedure_To_Call4Do_Tag_Check$Return_Type,B" &
7320 +         "y_Ref" &
7321 +      --  Selective_Accept
7322 +      "#Select_Alternatives&Else_Statements" &
7323 +      --  Timed_Entry_Call
7324 +      "#Entry_Call_Alternative&Delay_Alternative" &
7325 +      --  Exit_Statement
7326 +      "$Name#Condition" &
7327 +      --  If_Statement
7328 +      "#Condition$Then_Statements%Elsif_Parts&Else_Statements'End_Span" &
7329 +      --  Accept_Alternative
7330 +      "$Accept_Statement#Condition%Statements&Pragmas_Before'Accept_Handler_" &
7331 +         "Records" &
7332 +      --  Delay_Alternative
7333 +      "$Delay_Statement#Condition%Statements&Pragmas_Before" &
7334 +      --  Elsif_Part
7335 +      "#Condition$Then_Statements%Condition_Actions" &
7336 +      --  Entry_Body_Formal_Part
7337 +      "&Entry_Index_Specification%Parameter_Specifications#Condition" &
7338 +      --  Iteration_Scheme
7339 +      "#Condition%Condition_Actions&Loop_Parameter_Specification" &
7340 +      --  Terminate_Alternative
7341 +      "#Condition&Pragmas_Before'Pragmas_After" &
7342 +      --  Abortable_Part
7343 +      "%Statements" &
7344 +      --  Abstract_Subprogram_Declaration
7345 +      "#Specification" &
7346 +      --  Access_Definition
7347 +      "&Subtype_Mark" &
7348 +      --  Access_To_Object_Definition
7349 +      "6All_Present'Subtype_Indication8Constant_Present" &
7350 +      --  Case_Statement_Alternative
7351 +      "&Discrete_Choices%Statements" &
7352 +      --  Compilation_Unit
7353 +      "&Library_Unit#Context_Items6Private_Present$Unit'Aux_Decls_Node8Has_N" &
7354 +         "o_Elaboration_Code4Body_Required+Acts_As_Spec%First_Inlined_Subpro" &
7355 +         "gram" &
7356 +      --  Compilation_Unit_Aux
7357 +      "$Declarations#Actions'Pragmas_After&Config_Pragmas" &
7358 +      --  Component_Association
7359 +      "#Choices$Loop_Actions%Expression6Box_Present" &
7360 +      --  Component_Definition
7361 +      "+Aliased_Present'Subtype_Indication" &
7362 +      --  Component_List
7363 +      "%Component_Items&Variant_Part4Null_Present" &
7364 +      --  Derived_Type_Definition
7365 +      "+Abstract_Present'Subtype_Indication%Record_Extension_Part" &
7366 +      --  Decimal_Fixed_Point_Definition
7367 +      "%Delta_Expression$Digits_Expression&Real_Range_Specification" &
7368 +      --  Defining_Program_Unit_Name
7369 +      "$Name#Defining_Identifier" &
7370 +      --  Delta_Constraint
7371 +      "%Delta_Expression&Range_Constraint" &
7372 +      --  Designator
7373 +      "$Name#Identifier" &
7374 +      --  Digits_Constraint
7375 +      "$Digits_Expression&Range_Constraint" &
7376 +      --  Discriminant_Association
7377 +      "#Selector_Names%Expression" &
7378 +      --  Discriminant_Specification
7379 +      "#Defining_Identifier'Discriminant_Type%Expression,More_Ids-Prev_Ids" &
7380 +      --  Enumeration_Type_Definition
7381 +      "#Literals&End_Label" &
7382 +      --  Entry_Body
7383 +      "#Defining_Identifier'Entry_Body_Formal_Part$Declarations&Handled_Stat" &
7384 +         "ement_Sequence%Activation_Chain_Entity" &
7385 +      --  Entry_Call_Alternative
7386 +      "#Entry_Call_Statement%Statements&Pragmas_Before" &
7387 +      --  Exception_Declaration
7388 +      "#Defining_Identifier%Expression,More_Ids-Prev_Ids" &
7389 +      --  Exception_Handler
7390 +      "$Choice_Parameter&Exception_Choices%Statements,Zero_Cost_Handling" &
7391 +      --  Floating_Point_Definition
7392 +      "$Digits_Expression&Real_Range_Specification" &
7393 +      --  Formal_Decimal_Fixed_Point_Definition
7394 +      "" &
7395 +      --  Formal_Derived_Type_Definition
7396 +      "&Subtype_Mark6Private_Present+Abstract_Present" &
7397 +      --  Formal_Discrete_Type_Definition
7398 +      "" &
7399 +      --  Formal_Floating_Point_Definition
7400 +      "" &
7401 +      --  Formal_Modular_Type_Definition
7402 +      "" &
7403 +      --  Formal_Ordinary_Fixed_Point_Definition
7404 +      "" &
7405 +      --  Formal_Package_Declaration
7406 +      "#Defining_Identifier$Name%Generic_Associations6Box_Present'Instance_S" &
7407 +         "pec9ABE_Is_Certain" &
7408 +      --  Formal_Private_Type_Definition
7409 +      "+Abstract_Present6Tagged_Present8Limited_Present" &
7410 +      --  Formal_Signed_Integer_Type_Definition
7411 +      "" &
7412 +      --  Formal_Subprogram_Declaration
7413 +      "#Specification$Default_Name6Box_Present" &
7414 +      --  Generic_Association
7415 +      "$Selector_Name#Explicit_Generic_Actual_Parameter" &
7416 +      --  Handled_Sequence_Of_Statements
7417 +      "%Statements&End_Label'Exception_Handlers#At_End_Proc$First_Real_State" &
7418 +         "ment,Zero_Cost_Handling" &
7419 +      --  Index_Or_Discriminant_Constraint
7420 +      "#Constraints" &
7421 +      --  Itype_Reference
7422 +      "#Itype" &
7423 +      --  Label
7424 +      "#Identifier2Exception_Junk" &
7425 +      --  Modular_Type_Definition
7426 +      "%Expression" &
7427 +      --  Number_Declaration
7428 +      "#Defining_Identifier%Expression,More_Ids-Prev_Ids" &
7429 +      --  Ordinary_Fixed_Point_Definition
7430 +      "%Delta_Expression&Real_Range_Specification" &
7431 +      --  Others_Choice
7432 +      "#Others_Discrete_Choices2All_Others" &
7433 +      --  Package_Specification
7434 +      "#Defining_Unit_Name$Visible_Declarations%Private_Declarations&End_Lab" &
7435 +         "el'Generic_Parent9Limited_View_Installed" &
7436 +      --  Parameter_Association
7437 +      "$Selector_Name%Explicit_Actual_Parameter&Next_Named_Actual" &
7438 +      --  Parameter_Specification
7439 +      "#Defining_Identifier6In_Present8Out_Present$Parameter_Type%Expression" &
7440 +         "4Do_Accessibility_Check,More_Ids-Prev_Ids'Default_Expression" &
7441 +      --  Protected_Definition
7442 +      "$Visible_Declarations%Private_Declarations&End_Label-Has_Priority_Pra" &
7443 +         "gma" &
7444 +      --  Range_Constraint
7445 +      "&Range_Expression" &
7446 +      --  Real_Range_Specification
7447 +      "#Low_Bound$High_Bound" &
7448 +      --  Record_Definition
7449 +      "&End_Label+Abstract_Present6Tagged_Present8Limited_Present#Component_" &
7450 +         "List4Null_Present" &
7451 +      --  Signed_Integer_Type_Definition
7452 +      "#Low_Bound$High_Bound" &
7453 +      --  Single_Protected_Declaration
7454 +      "#Defining_Identifier%Protected_Definition" &
7455 +      --  Subunit
7456 +      "$Name#Proper_Body%Corresponding_Stub" &
7457 +      --  Task_Definition
7458 +      "$Visible_Declarations%Private_Declarations&End_Label-Has_Priority_Pra" &
7459 +         "gma,Has_Storage_Size_Pragma.Has_Task_Info_Pragma/Has_Task_Name_Pra" &
7460 +         "gma" &
7461 +      --  Triggering_Alternative
7462 +      "#Triggering_Statement%Statements&Pragmas_Before" &
7463 +      --  Use_Type_Clause
7464 +      "$Subtype_Marks%Next_Use_Clause&Hidden_By_Use_Clause" &
7465 +      --  Validate_Unchecked_Conversion
7466 +      "#Source_Type$Target_Type" &
7467 +      --  Variant
7468 +      "&Discrete_Choices#Component_List$Enclosing_Variant%Present_Expr'Dchec" &
7469 +         "k_Function" &
7470 +      --  Variant_Part
7471 +      "$Name#Variants" &
7472 +      --  With_Clause
7473 +      "$Name&Library_Unit'Corresponding_Spec,First_Name-Last_Name4Context_In" &
7474 +         "stalled+Elaborate_Present6Elaborate_All_Present7Implicit_With8Limi" &
7475 +         "ted_Present9Limited_View_Installed.Unreferenced_In_Spec/No_Entitie" &
7476 +         "s_Ref_In_Spec" &
7477 +      --  With_Type_Clause
7478 +      "$Name6Tagged_Present" &
7479 +      --  Unused_At_End
7480 +      "";
7481 +
7482 +   type Pchar_Pos_Array is array (Node_Kind) of Positive;
7483 +   Pchar_Pos : constant Pchar_Pos_Array := Pchar_Pos_Array'(
7484 +      N_Unused_At_Start                        => 1,
7485 +      N_At_Clause                              => 1,
7486 +      N_Component_Clause                       => 23,
7487 +      N_Enumeration_Representation_Clause      => 66,
7488 +      N_Mod_Clause                             => 107,
7489 +      N_Record_Representation_Clause           => 133,
7490 +      N_Attribute_Definition_Clause            => 187,
7491 +      N_Empty                                  => 253,
7492 +      N_Pragma                                 => 253,
7493 +      N_Pragma_Argument_Association            => 312,
7494 +      N_Error                                  => 323,
7495 +      N_Defining_Character_Literal             => 323,
7496 +      N_Defining_Identifier                    => 341,
7497 +      N_Defining_Operator_Symbol               => 359,
7498 +      N_Expanded_Name                          => 377,
7499 +      N_Identifier                             => 452,
7500 +      N_Operator_Symbol                        => 528,
7501 +      N_Character_Literal                      => 575,
7502 +      N_Op_Add                                 => 634,
7503 +      N_Op_Concat                              => 634,
7504 +      N_Op_Expon                               => 681,
7505 +      N_Op_Subtract                            => 705,
7506 +      N_Op_Divide                              => 705,
7507 +      N_Op_Mod                                 => 761,
7508 +      N_Op_Multiply                            => 802,
7509 +      N_Op_Rem                                 => 840,
7510 +      N_Op_And                                 => 881,
7511 +      N_Op_Eq                                  => 897,
7512 +      N_Op_Ge                                  => 897,
7513 +      N_Op_Gt                                  => 897,
7514 +      N_Op_Le                                  => 897,
7515 +      N_Op_Lt                                  => 897,
7516 +      N_Op_Ne                                  => 897,
7517 +      N_Op_Or                                  => 897,
7518 +      N_Op_Xor                                 => 913,
7519 +      N_Op_Rotate_Left                         => 929,
7520 +      N_Op_Rotate_Right                        => 944,
7521 +      N_Op_Shift_Left                          => 959,
7522 +      N_Op_Shift_Right                         => 974,
7523 +      N_Op_Shift_Right_Arithmetic              => 989,
7524 +      N_Op_Abs                                 => 1004,
7525 +      N_Op_Minus                               => 1004,
7526 +      N_Op_Not                                 => 1004,
7527 +      N_Op_Plus                                => 1004,
7528 +      N_Attribute_Reference                    => 1004,
7529 +      N_And_Then                               => 1128,
7530 +      N_Conditional_Expression                 => 1136,
7531 +      N_Explicit_Dereference                   => 1174,
7532 +      N_Function_Call                          => 1181,
7533 +      N_In                                     => 1323,
7534 +      N_Indexed_Component                      => 1323,
7535 +      N_Integer_Literal                        => 1342,
7536 +      N_Not_In                                 => 1378,
7537 +      N_Null                                   => 1378,
7538 +      N_Or_Else                                => 1378,
7539 +      N_Procedure_Call_Statement               => 1386,
7540 +      N_Qualified_Expression                   => 1528,
7541 +      N_Raise_Constraint_Error                 => 1552,
7542 +      N_Raise_Program_Error                    => 1569,
7543 +      N_Raise_Storage_Error                    => 1586,
7544 +      N_Aggregate                              => 1603,
7545 +      N_Allocator                              => 1759,
7546 +      N_Extension_Aggregate                    => 1836,
7547 +      N_Range                                  => 1939,
7548 +      N_Real_Literal                           => 1980,
7549 +      N_Reference                              => 2050,
7550 +      N_Selected_Component                     => 2057,
7551 +      N_Slice                                  => 2141,
7552 +      N_String_Literal                         => 2163,
7553 +      N_Subprogram_Info                        => 2189,
7554 +      N_Type_Conversion                        => 2200,
7555 +      N_Unchecked_Expression                   => 2315,
7556 +      N_Unchecked_Type_Conversion              => 2326,
7557 +      N_Subtype_Indication                     => 2381,
7558 +      N_Component_Declaration                  => 2421,
7559 +      N_Entry_Declaration                      => 2491,
7560 +      N_Formal_Object_Declaration              => 2583,
7561 +      N_Formal_Type_Declaration                => 2668,
7562 +      N_Full_Type_Declaration                  => 2769,
7563 +      N_Incomplete_Type_Declaration            => 2857,
7564 +      N_Loop_Parameter_Specification           => 2935,
7565 +      N_Object_Declaration                     => 2999,
7566 +      N_Protected_Type_Declaration             => 3246,
7567 +      N_Private_Extension_Declaration          => 3334,
7568 +      N_Private_Type_Declaration               => 3448,
7569 +      N_Subtype_Declaration                    => 3574,
7570 +      N_Function_Specification                 => 3648,
7571 +      N_Procedure_Specification                => 3740,
7572 +      N_Entry_Index_Specification              => 3819,
7573 +      N_Freeze_Entity                          => 3867,
7574 +      N_Access_Function_Definition             => 3935,
7575 +      N_Access_Procedure_Definition            => 3991,
7576 +      N_Task_Type_Declaration                  => 4034,
7577 +      N_Package_Body_Stub                      => 4137,
7578 +      N_Protected_Body_Stub                    => 4189,
7579 +      N_Subprogram_Body_Stub                   => 4241,
7580 +      N_Task_Body_Stub                         => 4287,
7581 +      N_Function_Instantiation                 => 4339,
7582 +      N_Package_Instantiation                  => 4425,
7583 +      N_Procedure_Instantiation                => 4511,
7584 +      N_Package_Body                           => 4597,
7585 +      N_Subprogram_Body                        => 4695,
7586 +      N_Protected_Body                         => 4922,
7587 +      N_Task_Body                              => 5004,
7588 +      N_Implicit_Label_Declaration             => 5142,
7589 +      N_Package_Declaration                    => 5178,
7590 +      N_Single_Task_Declaration                => 5247,
7591 +      N_Subprogram_Declaration                 => 5283,
7592 +      N_Use_Package_Clause                     => 5343,
7593 +      N_Generic_Package_Declaration            => 5386,
7594 +      N_Generic_Subprogram_Declaration         => 5483,
7595 +      N_Constrained_Array_Definition           => 5556,
7596 +      N_Unconstrained_Array_Definition         => 5606,
7597 +      N_Exception_Renaming_Declaration         => 5641,
7598 +      N_Object_Renaming_Declaration            => 5666,
7599 +      N_Package_Renaming_Declaration           => 5738,
7600 +      N_Subprogram_Renaming_Declaration        => 5774,
7601 +      N_Generic_Function_Renaming_Declaration  => 5824,
7602 +      N_Generic_Package_Renaming_Declaration   => 5860,
7603 +      N_Generic_Procedure_Renaming_Declaration => 5896,
7604 +      N_Abort_Statement                        => 5932,
7605 +      N_Accept_Statement                       => 5938,
7606 +      N_Assignment_Statement                   => 6033,
7607 +      N_Asynchronous_Select                    => 6119,
7608 +      N_Block_Statement                        => 6157,
7609 +      N_Case_Statement                         => 6322,
7610 +      N_Code_Statement                         => 6355,
7611 +      N_Conditional_Entry_Call                 => 6366,
7612 +      N_Delay_Relative_Statement               => 6405,
7613 +      N_Delay_Until_Statement                  => 6416,
7614 +      N_Entry_Call_Statement                   => 6427,
7615 +      N_Free_Statement                         => 6474,
7616 +      N_Goto_Statement                         => 6516,
7617 +      N_Loop_Statement                         => 6536,
7618 +      N_Null_Statement                         => 6621,
7619 +      N_Raise_Statement                        => 6621,
7620 +      N_Requeue_Statement                      => 6626,
7621 +      N_Return_Statement                       => 6645,
7622 +      N_Selective_Accept                       => 6719,
7623 +      N_Timed_Entry_Call                       => 6755,
7624 +      N_Exit_Statement                         => 6796,
7625 +      N_If_Statement                           => 6811,
7626 +      N_Accept_Alternative                     => 6874,
7627 +      N_Delay_Alternative                      => 6950,
7628 +      N_Elsif_Part                             => 7002,
7629 +      N_Entry_Body_Formal_Part                 => 7046,
7630 +      N_Iteration_Scheme                       => 7107,
7631 +      N_Terminate_Alternative                  => 7164,
7632 +      N_Abortable_Part                         => 7203,
7633 +      N_Abstract_Subprogram_Declaration        => 7214,
7634 +      N_Access_Definition                      => 7228,
7635 +      N_Access_To_Object_Definition            => 7241,
7636 +      N_Case_Statement_Alternative             => 7289,
7637 +      N_Compilation_Unit                       => 7317,
7638 +      N_Compilation_Unit_Aux                   => 7456,
7639 +      N_Component_Association                  => 7506,
7640 +      N_Component_Definition                   => 7550,
7641 +      N_Component_List                         => 7585,
7642 +      N_Derived_Type_Definition                => 7627,
7643 +      N_Decimal_Fixed_Point_Definition         => 7685,
7644 +      N_Defining_Program_Unit_Name             => 7745,
7645 +      N_Delta_Constraint                       => 7770,
7646 +      N_Designator                             => 7804,
7647 +      N_Digits_Constraint                      => 7820,
7648 +      N_Discriminant_Association               => 7855,
7649 +      N_Discriminant_Specification             => 7881,
7650 +      N_Enumeration_Type_Definition            => 7948,
7651 +      N_Entry_Body                             => 7967,
7652 +      N_Entry_Call_Alternative                 => 8074,
7653 +      N_Exception_Declaration                  => 8121,
7654 +      N_Exception_Handler                      => 8170,
7655 +      N_Floating_Point_Definition              => 8235,
7656 +      N_Formal_Decimal_Fixed_Point_Definition  => 8278,
7657 +      N_Formal_Derived_Type_Definition         => 8278,
7658 +      N_Formal_Discrete_Type_Definition        => 8324,
7659 +      N_Formal_Floating_Point_Definition       => 8324,
7660 +      N_Formal_Modular_Type_Definition         => 8324,
7661 +      N_Formal_Ordinary_Fixed_Point_Definition => 8324,
7662 +      N_Formal_Package_Declaration             => 8324,
7663 +      N_Formal_Private_Type_Definition         => 8411,
7664 +      N_Formal_Signed_Integer_Type_Definition  => 8459,
7665 +      N_Formal_Subprogram_Declaration          => 8459,
7666 +      N_Generic_Association                    => 8498,
7667 +      N_Handled_Sequence_Of_Statements         => 8546,
7668 +      N_Index_Or_Discriminant_Constraint       => 8638,
7669 +      N_Itype_Reference                        => 8650,
7670 +      N_Label                                  => 8656,
7671 +      N_Modular_Type_Definition                => 8682,
7672 +      N_Number_Declaration                     => 8693,
7673 +      N_Ordinary_Fixed_Point_Definition        => 8742,
7674 +      N_Others_Choice                          => 8784,
7675 +      N_Package_Specification                  => 8819,
7676 +      N_Parameter_Association                  => 8928,
7677 +      N_Parameter_Specification                => 8986,
7678 +      N_Protected_Definition                   => 9115,
7679 +      N_Range_Constraint                       => 9187,
7680 +      N_Real_Range_Specification               => 9204,
7681 +      N_Record_Definition                      => 9225,
7682 +      N_Signed_Integer_Type_Definition         => 9311,
7683 +      N_Single_Protected_Declaration           => 9332,
7684 +      N_Subunit                                => 9373,
7685 +      N_Task_Definition                        => 9409,
7686 +      N_Triggering_Alternative                 => 9547,
7687 +      N_Use_Type_Clause                        => 9594,
7688 +      N_Validate_Unchecked_Conversion          => 9645,
7689 +      N_Variant                                => 9669,
7690 +      N_Variant_Part                           => 9748,
7691 +      N_With_Clause                            => 9762,
7692 +      N_With_Type_Clause                       => 9976,
7693 +      N_Unused_At_End                          => 9996);
7694 +
7695 +end Treeprs;
This page took 1.008234 seconds and 3 git commands to generate.