* sh.h (REG_CLASS_FROM_LETTER): Change to:
[official-gcc.git] / gcc / ada / nmake.ads
blob5439156699f33c51c8b4c1b6438c48f1f2909a85
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- N M A K E --
6 -- --
7 -- S p e c --
8 -- --
9 -- Generated by xnmake revision 1.29 using --
10 -- sinfo.ads revision 1.439 --
11 -- nmake.adt revision 1.12 --
12 -- --
13 -- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
14 -- --
15 -- GNAT is free software; you can redistribute it and/or modify it under --
16 -- terms of the GNU General Public License as published by the Free Soft- --
17 -- ware Foundation; either version 2, or (at your option) any later ver- --
18 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
19 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
20 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
21 -- for more details. You should have received a copy of the GNU General --
22 -- Public License distributed with GNAT; see file COPYING. If not, write --
23 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
24 -- MA 02111-1307, USA. --
25 -- --
26 -- GNAT was originally developed by the GNAT team at New York University. --
27 -- Extensive contributions were provided by Ada Core Technologies Inc. --
28 -- --
29 ------------------------------------------------------------------------------
31 pragma Style_Checks (All_Checks);
32 -- Turn off subprogram order checking, since the routines here are
33 -- generated automatically in order.
36 with Nlists; use Nlists;
37 with Types; use Types;
38 with Uintp; use Uintp;
39 with Urealp; use Urealp;
41 package Nmake is
43 -- This package contains a set of routines used to construct tree nodes
44 -- using a functional style. There is one routine for each node type defined
45 -- in Sinfo with the general interface:
47 -- function Make_xxx (Sloc : Source_Ptr,
48 -- Field_Name_1 : Field_Name_1_Type [:= default]
49 -- Field_Name_2 : Field_Name_2_Type [:= default]
50 -- ...)
51 -- return Node_Id
53 -- Only syntactic fields are included (i.e. fields marked as "-Sem" or "-Lib"
54 -- in the Sinfo spec are excluded). In addition, the following four syntactic
55 -- fields are excluded:
57 -- Prev_Ids
58 -- More_Ids
59 -- Comes_From_Source
60 -- Paren_Count
62 -- since they are very rarely set in expanded code. If they need to be set,
63 -- to other than the default values (False, False, False, zero), then the
64 -- appropriate Set_xxx procedures must be used on the returned value.
66 -- Default values are provided only for flag fields (where the default is
67 -- False), and for optional fields. An optional field is one where the
68 -- comment line describing the field contains the string "(set to xxx if".
69 -- For such fields, a default value of xxx is provided."
71 -- Warning: since calls to Make_xxx routines are normal function calls, the
72 -- arguments can be evaluated in any order. This means that at most one such
73 -- argument can have side effects (e.g. be a call to a parse routine).
75 function Make_Unused_At_Start (Sloc : Source_Ptr)
76 return Node_Id;
77 pragma Inline (Make_Unused_At_Start);
79 function Make_Unused_At_End (Sloc : Source_Ptr)
80 return Node_Id;
81 pragma Inline (Make_Unused_At_End);
83 function Make_Identifier (Sloc : Source_Ptr;
84 Chars : Name_Id)
85 return Node_Id;
86 pragma Inline (Make_Identifier);
88 function Make_Integer_Literal (Sloc : Source_Ptr;
89 Intval : Uint)
90 return Node_Id;
91 pragma Inline (Make_Integer_Literal);
93 function Make_Real_Literal (Sloc : Source_Ptr;
94 Realval : Ureal)
95 return Node_Id;
96 pragma Inline (Make_Real_Literal);
98 function Make_Character_Literal (Sloc : Source_Ptr;
99 Chars : Name_Id;
100 Char_Literal_Value : Char_Code)
101 return Node_Id;
102 pragma Inline (Make_Character_Literal);
104 function Make_String_Literal (Sloc : Source_Ptr;
105 Strval : String_Id)
106 return Node_Id;
107 pragma Inline (Make_String_Literal);
109 function Make_Pragma (Sloc : Source_Ptr;
110 Chars : Name_Id;
111 Pragma_Argument_Associations : List_Id := No_List;
112 Debug_Statement : Node_Id := Empty)
113 return Node_Id;
114 pragma Inline (Make_Pragma);
116 function Make_Pragma_Argument_Association (Sloc : Source_Ptr;
117 Chars : Name_Id := No_Name;
118 Expression : Node_Id)
119 return Node_Id;
120 pragma Inline (Make_Pragma_Argument_Association);
122 function Make_Defining_Identifier (Sloc : Source_Ptr;
123 Chars : Name_Id)
124 return Node_Id;
125 pragma Inline (Make_Defining_Identifier);
127 function Make_Full_Type_Declaration (Sloc : Source_Ptr;
128 Defining_Identifier : Node_Id;
129 Discriminant_Specifications : List_Id := No_List;
130 Type_Definition : Node_Id)
131 return Node_Id;
132 pragma Inline (Make_Full_Type_Declaration);
134 function Make_Subtype_Declaration (Sloc : Source_Ptr;
135 Defining_Identifier : Node_Id;
136 Subtype_Indication : Node_Id)
137 return Node_Id;
138 pragma Inline (Make_Subtype_Declaration);
140 function Make_Subtype_Indication (Sloc : Source_Ptr;
141 Subtype_Mark : Node_Id;
142 Constraint : Node_Id)
143 return Node_Id;
144 pragma Inline (Make_Subtype_Indication);
146 function Make_Object_Declaration (Sloc : Source_Ptr;
147 Defining_Identifier : Node_Id;
148 Aliased_Present : Boolean := False;
149 Constant_Present : Boolean := False;
150 Object_Definition : Node_Id;
151 Expression : Node_Id := Empty)
152 return Node_Id;
153 pragma Inline (Make_Object_Declaration);
155 function Make_Number_Declaration (Sloc : Source_Ptr;
156 Defining_Identifier : Node_Id;
157 Expression : Node_Id)
158 return Node_Id;
159 pragma Inline (Make_Number_Declaration);
161 function Make_Derived_Type_Definition (Sloc : Source_Ptr;
162 Abstract_Present : Boolean := False;
163 Subtype_Indication : Node_Id;
164 Record_Extension_Part : Node_Id := Empty)
165 return Node_Id;
166 pragma Inline (Make_Derived_Type_Definition);
168 function Make_Range_Constraint (Sloc : Source_Ptr;
169 Range_Expression : Node_Id)
170 return Node_Id;
171 pragma Inline (Make_Range_Constraint);
173 function Make_Range (Sloc : Source_Ptr;
174 Low_Bound : Node_Id;
175 High_Bound : Node_Id;
176 Includes_Infinities : Boolean := False)
177 return Node_Id;
178 pragma Inline (Make_Range);
180 function Make_Enumeration_Type_Definition (Sloc : Source_Ptr;
181 Literals : List_Id;
182 End_Label : Node_Id := Empty)
183 return Node_Id;
184 pragma Inline (Make_Enumeration_Type_Definition);
186 function Make_Defining_Character_Literal (Sloc : Source_Ptr;
187 Chars : Name_Id)
188 return Node_Id;
189 pragma Inline (Make_Defining_Character_Literal);
191 function Make_Signed_Integer_Type_Definition (Sloc : Source_Ptr;
192 Low_Bound : Node_Id;
193 High_Bound : Node_Id)
194 return Node_Id;
195 pragma Inline (Make_Signed_Integer_Type_Definition);
197 function Make_Modular_Type_Definition (Sloc : Source_Ptr;
198 Expression : Node_Id)
199 return Node_Id;
200 pragma Inline (Make_Modular_Type_Definition);
202 function Make_Floating_Point_Definition (Sloc : Source_Ptr;
203 Digits_Expression : Node_Id;
204 Real_Range_Specification : Node_Id := Empty)
205 return Node_Id;
206 pragma Inline (Make_Floating_Point_Definition);
208 function Make_Real_Range_Specification (Sloc : Source_Ptr;
209 Low_Bound : Node_Id;
210 High_Bound : Node_Id)
211 return Node_Id;
212 pragma Inline (Make_Real_Range_Specification);
214 function Make_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr;
215 Delta_Expression : Node_Id;
216 Real_Range_Specification : Node_Id)
217 return Node_Id;
218 pragma Inline (Make_Ordinary_Fixed_Point_Definition);
220 function Make_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr;
221 Delta_Expression : Node_Id;
222 Digits_Expression : Node_Id;
223 Real_Range_Specification : Node_Id := Empty)
224 return Node_Id;
225 pragma Inline (Make_Decimal_Fixed_Point_Definition);
227 function Make_Digits_Constraint (Sloc : Source_Ptr;
228 Digits_Expression : Node_Id;
229 Range_Constraint : Node_Id := Empty)
230 return Node_Id;
231 pragma Inline (Make_Digits_Constraint);
233 function Make_Unconstrained_Array_Definition (Sloc : Source_Ptr;
234 Subtype_Marks : List_Id;
235 Aliased_Present : Boolean := False;
236 Subtype_Indication : Node_Id)
237 return Node_Id;
238 pragma Inline (Make_Unconstrained_Array_Definition);
240 function Make_Constrained_Array_Definition (Sloc : Source_Ptr;
241 Discrete_Subtype_Definitions : List_Id;
242 Aliased_Present : Boolean := False;
243 Subtype_Indication : Node_Id)
244 return Node_Id;
245 pragma Inline (Make_Constrained_Array_Definition);
247 function Make_Discriminant_Specification (Sloc : Source_Ptr;
248 Defining_Identifier : Node_Id;
249 Discriminant_Type : Node_Id;
250 Expression : Node_Id := Empty)
251 return Node_Id;
252 pragma Inline (Make_Discriminant_Specification);
254 function Make_Index_Or_Discriminant_Constraint (Sloc : Source_Ptr;
255 Constraints : List_Id)
256 return Node_Id;
257 pragma Inline (Make_Index_Or_Discriminant_Constraint);
259 function Make_Discriminant_Association (Sloc : Source_Ptr;
260 Selector_Names : List_Id;
261 Expression : Node_Id)
262 return Node_Id;
263 pragma Inline (Make_Discriminant_Association);
265 function Make_Record_Definition (Sloc : Source_Ptr;
266 End_Label : Node_Id := Empty;
267 Abstract_Present : Boolean := False;
268 Tagged_Present : Boolean := False;
269 Limited_Present : Boolean := False;
270 Component_List : Node_Id;
271 Null_Present : Boolean := False)
272 return Node_Id;
273 pragma Inline (Make_Record_Definition);
275 function Make_Component_List (Sloc : Source_Ptr;
276 Component_Items : List_Id;
277 Variant_Part : Node_Id := Empty;
278 Null_Present : Boolean := False)
279 return Node_Id;
280 pragma Inline (Make_Component_List);
282 function Make_Component_Declaration (Sloc : Source_Ptr;
283 Defining_Identifier : Node_Id;
284 Aliased_Present : Boolean := False;
285 Subtype_Indication : Node_Id;
286 Expression : Node_Id := Empty)
287 return Node_Id;
288 pragma Inline (Make_Component_Declaration);
290 function Make_Variant_Part (Sloc : Source_Ptr;
291 Name : Node_Id;
292 Variants : List_Id)
293 return Node_Id;
294 pragma Inline (Make_Variant_Part);
296 function Make_Variant (Sloc : Source_Ptr;
297 Discrete_Choices : List_Id;
298 Component_List : Node_Id)
299 return Node_Id;
300 pragma Inline (Make_Variant);
302 function Make_Others_Choice (Sloc : Source_Ptr)
303 return Node_Id;
304 pragma Inline (Make_Others_Choice);
306 function Make_Access_To_Object_Definition (Sloc : Source_Ptr;
307 All_Present : Boolean := False;
308 Subtype_Indication : Node_Id;
309 Constant_Present : Boolean := False)
310 return Node_Id;
311 pragma Inline (Make_Access_To_Object_Definition);
313 function Make_Access_Function_Definition (Sloc : Source_Ptr;
314 Protected_Present : Boolean := False;
315 Parameter_Specifications : List_Id := No_List;
316 Subtype_Mark : Node_Id)
317 return Node_Id;
318 pragma Inline (Make_Access_Function_Definition);
320 function Make_Access_Procedure_Definition (Sloc : Source_Ptr;
321 Protected_Present : Boolean := False;
322 Parameter_Specifications : List_Id := No_List)
323 return Node_Id;
324 pragma Inline (Make_Access_Procedure_Definition);
326 function Make_Access_Definition (Sloc : Source_Ptr;
327 Subtype_Mark : Node_Id)
328 return Node_Id;
329 pragma Inline (Make_Access_Definition);
331 function Make_Incomplete_Type_Declaration (Sloc : Source_Ptr;
332 Defining_Identifier : Node_Id;
333 Discriminant_Specifications : List_Id := No_List;
334 Unknown_Discriminants_Present : Boolean := False)
335 return Node_Id;
336 pragma Inline (Make_Incomplete_Type_Declaration);
338 function Make_Explicit_Dereference (Sloc : Source_Ptr;
339 Prefix : Node_Id)
340 return Node_Id;
341 pragma Inline (Make_Explicit_Dereference);
343 function Make_Indexed_Component (Sloc : Source_Ptr;
344 Prefix : Node_Id;
345 Expressions : List_Id)
346 return Node_Id;
347 pragma Inline (Make_Indexed_Component);
349 function Make_Slice (Sloc : Source_Ptr;
350 Prefix : Node_Id;
351 Discrete_Range : Node_Id)
352 return Node_Id;
353 pragma Inline (Make_Slice);
355 function Make_Selected_Component (Sloc : Source_Ptr;
356 Prefix : Node_Id;
357 Selector_Name : Node_Id)
358 return Node_Id;
359 pragma Inline (Make_Selected_Component);
361 function Make_Attribute_Reference (Sloc : Source_Ptr;
362 Prefix : Node_Id;
363 Attribute_Name : Name_Id;
364 Expressions : List_Id := No_List;
365 Must_Be_Byte_Aligned : Boolean := False)
366 return Node_Id;
367 pragma Inline (Make_Attribute_Reference);
369 function Make_Aggregate (Sloc : Source_Ptr;
370 Expressions : List_Id := No_List;
371 Component_Associations : List_Id := No_List;
372 Null_Record_Present : Boolean := False)
373 return Node_Id;
374 pragma Inline (Make_Aggregate);
376 function Make_Component_Association (Sloc : Source_Ptr;
377 Choices : List_Id;
378 Expression : Node_Id)
379 return Node_Id;
380 pragma Inline (Make_Component_Association);
382 function Make_Extension_Aggregate (Sloc : Source_Ptr;
383 Ancestor_Part : Node_Id;
384 Expressions : List_Id := No_List;
385 Component_Associations : List_Id := No_List;
386 Null_Record_Present : Boolean := False)
387 return Node_Id;
388 pragma Inline (Make_Extension_Aggregate);
390 function Make_Null (Sloc : Source_Ptr)
391 return Node_Id;
392 pragma Inline (Make_Null);
394 function Make_And_Then (Sloc : Source_Ptr;
395 Left_Opnd : Node_Id;
396 Right_Opnd : Node_Id)
397 return Node_Id;
398 pragma Inline (Make_And_Then);
400 function Make_Or_Else (Sloc : Source_Ptr;
401 Left_Opnd : Node_Id;
402 Right_Opnd : Node_Id)
403 return Node_Id;
404 pragma Inline (Make_Or_Else);
406 function Make_In (Sloc : Source_Ptr;
407 Left_Opnd : Node_Id;
408 Right_Opnd : Node_Id)
409 return Node_Id;
410 pragma Inline (Make_In);
412 function Make_Not_In (Sloc : Source_Ptr;
413 Left_Opnd : Node_Id;
414 Right_Opnd : Node_Id)
415 return Node_Id;
416 pragma Inline (Make_Not_In);
418 function Make_Op_And (Sloc : Source_Ptr;
419 Left_Opnd : Node_Id;
420 Right_Opnd : Node_Id)
421 return Node_Id;
422 pragma Inline (Make_Op_And);
424 function Make_Op_Or (Sloc : Source_Ptr;
425 Left_Opnd : Node_Id;
426 Right_Opnd : Node_Id)
427 return Node_Id;
428 pragma Inline (Make_Op_Or);
430 function Make_Op_Xor (Sloc : Source_Ptr;
431 Left_Opnd : Node_Id;
432 Right_Opnd : Node_Id)
433 return Node_Id;
434 pragma Inline (Make_Op_Xor);
436 function Make_Op_Eq (Sloc : Source_Ptr;
437 Left_Opnd : Node_Id;
438 Right_Opnd : Node_Id)
439 return Node_Id;
440 pragma Inline (Make_Op_Eq);
442 function Make_Op_Ne (Sloc : Source_Ptr;
443 Left_Opnd : Node_Id;
444 Right_Opnd : Node_Id)
445 return Node_Id;
446 pragma Inline (Make_Op_Ne);
448 function Make_Op_Lt (Sloc : Source_Ptr;
449 Left_Opnd : Node_Id;
450 Right_Opnd : Node_Id)
451 return Node_Id;
452 pragma Inline (Make_Op_Lt);
454 function Make_Op_Le (Sloc : Source_Ptr;
455 Left_Opnd : Node_Id;
456 Right_Opnd : Node_Id)
457 return Node_Id;
458 pragma Inline (Make_Op_Le);
460 function Make_Op_Gt (Sloc : Source_Ptr;
461 Left_Opnd : Node_Id;
462 Right_Opnd : Node_Id)
463 return Node_Id;
464 pragma Inline (Make_Op_Gt);
466 function Make_Op_Ge (Sloc : Source_Ptr;
467 Left_Opnd : Node_Id;
468 Right_Opnd : Node_Id)
469 return Node_Id;
470 pragma Inline (Make_Op_Ge);
472 function Make_Op_Add (Sloc : Source_Ptr;
473 Left_Opnd : Node_Id;
474 Right_Opnd : Node_Id)
475 return Node_Id;
476 pragma Inline (Make_Op_Add);
478 function Make_Op_Subtract (Sloc : Source_Ptr;
479 Left_Opnd : Node_Id;
480 Right_Opnd : Node_Id)
481 return Node_Id;
482 pragma Inline (Make_Op_Subtract);
484 function Make_Op_Concat (Sloc : Source_Ptr;
485 Left_Opnd : Node_Id;
486 Right_Opnd : Node_Id)
487 return Node_Id;
488 pragma Inline (Make_Op_Concat);
490 function Make_Op_Multiply (Sloc : Source_Ptr;
491 Left_Opnd : Node_Id;
492 Right_Opnd : Node_Id)
493 return Node_Id;
494 pragma Inline (Make_Op_Multiply);
496 function Make_Op_Divide (Sloc : Source_Ptr;
497 Left_Opnd : Node_Id;
498 Right_Opnd : Node_Id)
499 return Node_Id;
500 pragma Inline (Make_Op_Divide);
502 function Make_Op_Mod (Sloc : Source_Ptr;
503 Left_Opnd : Node_Id;
504 Right_Opnd : Node_Id)
505 return Node_Id;
506 pragma Inline (Make_Op_Mod);
508 function Make_Op_Rem (Sloc : Source_Ptr;
509 Left_Opnd : Node_Id;
510 Right_Opnd : Node_Id)
511 return Node_Id;
512 pragma Inline (Make_Op_Rem);
514 function Make_Op_Expon (Sloc : Source_Ptr;
515 Left_Opnd : Node_Id;
516 Right_Opnd : Node_Id)
517 return Node_Id;
518 pragma Inline (Make_Op_Expon);
520 function Make_Op_Plus (Sloc : Source_Ptr;
521 Right_Opnd : Node_Id)
522 return Node_Id;
523 pragma Inline (Make_Op_Plus);
525 function Make_Op_Minus (Sloc : Source_Ptr;
526 Right_Opnd : Node_Id)
527 return Node_Id;
528 pragma Inline (Make_Op_Minus);
530 function Make_Op_Abs (Sloc : Source_Ptr;
531 Right_Opnd : Node_Id)
532 return Node_Id;
533 pragma Inline (Make_Op_Abs);
535 function Make_Op_Not (Sloc : Source_Ptr;
536 Right_Opnd : Node_Id)
537 return Node_Id;
538 pragma Inline (Make_Op_Not);
540 function Make_Type_Conversion (Sloc : Source_Ptr;
541 Subtype_Mark : Node_Id;
542 Expression : Node_Id)
543 return Node_Id;
544 pragma Inline (Make_Type_Conversion);
546 function Make_Qualified_Expression (Sloc : Source_Ptr;
547 Subtype_Mark : Node_Id;
548 Expression : Node_Id)
549 return Node_Id;
550 pragma Inline (Make_Qualified_Expression);
552 function Make_Allocator (Sloc : Source_Ptr;
553 Expression : Node_Id)
554 return Node_Id;
555 pragma Inline (Make_Allocator);
557 function Make_Null_Statement (Sloc : Source_Ptr)
558 return Node_Id;
559 pragma Inline (Make_Null_Statement);
561 function Make_Label (Sloc : Source_Ptr;
562 Identifier : Node_Id)
563 return Node_Id;
564 pragma Inline (Make_Label);
566 function Make_Assignment_Statement (Sloc : Source_Ptr;
567 Name : Node_Id;
568 Expression : Node_Id)
569 return Node_Id;
570 pragma Inline (Make_Assignment_Statement);
572 function Make_If_Statement (Sloc : Source_Ptr;
573 Condition : Node_Id;
574 Then_Statements : List_Id;
575 Elsif_Parts : List_Id := No_List;
576 Else_Statements : List_Id := No_List;
577 End_Span : Uint := No_Uint)
578 return Node_Id;
579 pragma Inline (Make_If_Statement);
581 function Make_Elsif_Part (Sloc : Source_Ptr;
582 Condition : Node_Id;
583 Then_Statements : List_Id)
584 return Node_Id;
585 pragma Inline (Make_Elsif_Part);
587 function Make_Case_Statement (Sloc : Source_Ptr;
588 Expression : Node_Id;
589 Alternatives : List_Id;
590 End_Span : Uint := No_Uint)
591 return Node_Id;
592 pragma Inline (Make_Case_Statement);
594 function Make_Case_Statement_Alternative (Sloc : Source_Ptr;
595 Discrete_Choices : List_Id;
596 Statements : List_Id)
597 return Node_Id;
598 pragma Inline (Make_Case_Statement_Alternative);
600 function Make_Loop_Statement (Sloc : Source_Ptr;
601 Identifier : Node_Id := Empty;
602 Iteration_Scheme : Node_Id := Empty;
603 Statements : List_Id;
604 End_Label : Node_Id;
605 Has_Created_Identifier : Boolean := False)
606 return Node_Id;
607 pragma Inline (Make_Loop_Statement);
609 function Make_Iteration_Scheme (Sloc : Source_Ptr;
610 Condition : Node_Id := Empty;
611 Loop_Parameter_Specification : Node_Id := Empty)
612 return Node_Id;
613 pragma Inline (Make_Iteration_Scheme);
615 function Make_Loop_Parameter_Specification (Sloc : Source_Ptr;
616 Defining_Identifier : Node_Id;
617 Reverse_Present : Boolean := False;
618 Discrete_Subtype_Definition : Node_Id)
619 return Node_Id;
620 pragma Inline (Make_Loop_Parameter_Specification);
622 function Make_Block_Statement (Sloc : Source_Ptr;
623 Identifier : Node_Id := Empty;
624 Declarations : List_Id := No_List;
625 Handled_Statement_Sequence : Node_Id;
626 Has_Created_Identifier : Boolean := False;
627 Is_Task_Allocation_Block : Boolean := False;
628 Is_Asynchronous_Call_Block : Boolean := False)
629 return Node_Id;
630 pragma Inline (Make_Block_Statement);
632 function Make_Exit_Statement (Sloc : Source_Ptr;
633 Name : Node_Id := Empty;
634 Condition : Node_Id := Empty)
635 return Node_Id;
636 pragma Inline (Make_Exit_Statement);
638 function Make_Goto_Statement (Sloc : Source_Ptr;
639 Name : Node_Id)
640 return Node_Id;
641 pragma Inline (Make_Goto_Statement);
643 function Make_Subprogram_Declaration (Sloc : Source_Ptr;
644 Specification : Node_Id)
645 return Node_Id;
646 pragma Inline (Make_Subprogram_Declaration);
648 function Make_Abstract_Subprogram_Declaration (Sloc : Source_Ptr;
649 Specification : Node_Id)
650 return Node_Id;
651 pragma Inline (Make_Abstract_Subprogram_Declaration);
653 function Make_Function_Specification (Sloc : Source_Ptr;
654 Defining_Unit_Name : Node_Id;
655 Parameter_Specifications : List_Id := No_List;
656 Subtype_Mark : Node_Id)
657 return Node_Id;
658 pragma Inline (Make_Function_Specification);
660 function Make_Procedure_Specification (Sloc : Source_Ptr;
661 Defining_Unit_Name : Node_Id;
662 Parameter_Specifications : List_Id := No_List)
663 return Node_Id;
664 pragma Inline (Make_Procedure_Specification);
666 function Make_Designator (Sloc : Source_Ptr;
667 Name : Node_Id;
668 Identifier : Node_Id)
669 return Node_Id;
670 pragma Inline (Make_Designator);
672 function Make_Defining_Program_Unit_Name (Sloc : Source_Ptr;
673 Name : Node_Id;
674 Defining_Identifier : Node_Id)
675 return Node_Id;
676 pragma Inline (Make_Defining_Program_Unit_Name);
678 function Make_Operator_Symbol (Sloc : Source_Ptr;
679 Chars : Name_Id;
680 Strval : String_Id)
681 return Node_Id;
682 pragma Inline (Make_Operator_Symbol);
684 function Make_Defining_Operator_Symbol (Sloc : Source_Ptr;
685 Chars : Name_Id)
686 return Node_Id;
687 pragma Inline (Make_Defining_Operator_Symbol);
689 function Make_Parameter_Specification (Sloc : Source_Ptr;
690 Defining_Identifier : Node_Id;
691 In_Present : Boolean := False;
692 Out_Present : Boolean := False;
693 Parameter_Type : Node_Id;
694 Expression : Node_Id := Empty)
695 return Node_Id;
696 pragma Inline (Make_Parameter_Specification);
698 function Make_Subprogram_Body (Sloc : Source_Ptr;
699 Specification : Node_Id;
700 Declarations : List_Id;
701 Handled_Statement_Sequence : Node_Id;
702 Bad_Is_Detected : Boolean := False)
703 return Node_Id;
704 pragma Inline (Make_Subprogram_Body);
706 function Make_Procedure_Call_Statement (Sloc : Source_Ptr;
707 Name : Node_Id;
708 Parameter_Associations : List_Id := No_List)
709 return Node_Id;
710 pragma Inline (Make_Procedure_Call_Statement);
712 function Make_Function_Call (Sloc : Source_Ptr;
713 Name : Node_Id;
714 Parameter_Associations : List_Id := No_List)
715 return Node_Id;
716 pragma Inline (Make_Function_Call);
718 function Make_Parameter_Association (Sloc : Source_Ptr;
719 Selector_Name : Node_Id;
720 Explicit_Actual_Parameter : Node_Id)
721 return Node_Id;
722 pragma Inline (Make_Parameter_Association);
724 function Make_Return_Statement (Sloc : Source_Ptr;
725 Expression : Node_Id := Empty)
726 return Node_Id;
727 pragma Inline (Make_Return_Statement);
729 function Make_Package_Declaration (Sloc : Source_Ptr;
730 Specification : Node_Id)
731 return Node_Id;
732 pragma Inline (Make_Package_Declaration);
734 function Make_Package_Specification (Sloc : Source_Ptr;
735 Defining_Unit_Name : Node_Id;
736 Visible_Declarations : List_Id;
737 Private_Declarations : List_Id := No_List;
738 End_Label : Node_Id)
739 return Node_Id;
740 pragma Inline (Make_Package_Specification);
742 function Make_Package_Body (Sloc : Source_Ptr;
743 Defining_Unit_Name : Node_Id;
744 Declarations : List_Id;
745 Handled_Statement_Sequence : Node_Id := Empty)
746 return Node_Id;
747 pragma Inline (Make_Package_Body);
749 function Make_Private_Type_Declaration (Sloc : Source_Ptr;
750 Defining_Identifier : Node_Id;
751 Discriminant_Specifications : List_Id := No_List;
752 Unknown_Discriminants_Present : Boolean := False;
753 Abstract_Present : Boolean := False;
754 Tagged_Present : Boolean := False;
755 Limited_Present : Boolean := False)
756 return Node_Id;
757 pragma Inline (Make_Private_Type_Declaration);
759 function Make_Private_Extension_Declaration (Sloc : Source_Ptr;
760 Defining_Identifier : Node_Id;
761 Discriminant_Specifications : List_Id := No_List;
762 Unknown_Discriminants_Present : Boolean := False;
763 Abstract_Present : Boolean := False;
764 Subtype_Indication : Node_Id)
765 return Node_Id;
766 pragma Inline (Make_Private_Extension_Declaration);
768 function Make_Use_Package_Clause (Sloc : Source_Ptr;
769 Names : List_Id)
770 return Node_Id;
771 pragma Inline (Make_Use_Package_Clause);
773 function Make_Use_Type_Clause (Sloc : Source_Ptr;
774 Subtype_Marks : List_Id)
775 return Node_Id;
776 pragma Inline (Make_Use_Type_Clause);
778 function Make_Object_Renaming_Declaration (Sloc : Source_Ptr;
779 Defining_Identifier : Node_Id;
780 Subtype_Mark : Node_Id;
781 Name : Node_Id)
782 return Node_Id;
783 pragma Inline (Make_Object_Renaming_Declaration);
785 function Make_Exception_Renaming_Declaration (Sloc : Source_Ptr;
786 Defining_Identifier : Node_Id;
787 Name : Node_Id)
788 return Node_Id;
789 pragma Inline (Make_Exception_Renaming_Declaration);
791 function Make_Package_Renaming_Declaration (Sloc : Source_Ptr;
792 Defining_Unit_Name : Node_Id;
793 Name : Node_Id)
794 return Node_Id;
795 pragma Inline (Make_Package_Renaming_Declaration);
797 function Make_Subprogram_Renaming_Declaration (Sloc : Source_Ptr;
798 Specification : Node_Id;
799 Name : Node_Id)
800 return Node_Id;
801 pragma Inline (Make_Subprogram_Renaming_Declaration);
803 function Make_Generic_Package_Renaming_Declaration (Sloc : Source_Ptr;
804 Defining_Unit_Name : Node_Id;
805 Name : Node_Id)
806 return Node_Id;
807 pragma Inline (Make_Generic_Package_Renaming_Declaration);
809 function Make_Generic_Procedure_Renaming_Declaration (Sloc : Source_Ptr;
810 Defining_Unit_Name : Node_Id;
811 Name : Node_Id)
812 return Node_Id;
813 pragma Inline (Make_Generic_Procedure_Renaming_Declaration);
815 function Make_Generic_Function_Renaming_Declaration (Sloc : Source_Ptr;
816 Defining_Unit_Name : Node_Id;
817 Name : Node_Id)
818 return Node_Id;
819 pragma Inline (Make_Generic_Function_Renaming_Declaration);
821 function Make_Task_Type_Declaration (Sloc : Source_Ptr;
822 Defining_Identifier : Node_Id;
823 Discriminant_Specifications : List_Id := No_List;
824 Task_Definition : Node_Id := Empty)
825 return Node_Id;
826 pragma Inline (Make_Task_Type_Declaration);
828 function Make_Single_Task_Declaration (Sloc : Source_Ptr;
829 Defining_Identifier : Node_Id;
830 Task_Definition : Node_Id := Empty)
831 return Node_Id;
832 pragma Inline (Make_Single_Task_Declaration);
834 function Make_Task_Definition (Sloc : Source_Ptr;
835 Visible_Declarations : List_Id;
836 Private_Declarations : List_Id := No_List;
837 End_Label : Node_Id)
838 return Node_Id;
839 pragma Inline (Make_Task_Definition);
841 function Make_Task_Body (Sloc : Source_Ptr;
842 Defining_Identifier : Node_Id;
843 Declarations : List_Id;
844 Handled_Statement_Sequence : Node_Id)
845 return Node_Id;
846 pragma Inline (Make_Task_Body);
848 function Make_Protected_Type_Declaration (Sloc : Source_Ptr;
849 Defining_Identifier : Node_Id;
850 Discriminant_Specifications : List_Id := No_List;
851 Protected_Definition : Node_Id)
852 return Node_Id;
853 pragma Inline (Make_Protected_Type_Declaration);
855 function Make_Single_Protected_Declaration (Sloc : Source_Ptr;
856 Defining_Identifier : Node_Id;
857 Protected_Definition : Node_Id)
858 return Node_Id;
859 pragma Inline (Make_Single_Protected_Declaration);
861 function Make_Protected_Definition (Sloc : Source_Ptr;
862 Visible_Declarations : List_Id;
863 Private_Declarations : List_Id := No_List;
864 End_Label : Node_Id)
865 return Node_Id;
866 pragma Inline (Make_Protected_Definition);
868 function Make_Protected_Body (Sloc : Source_Ptr;
869 Defining_Identifier : Node_Id;
870 Declarations : List_Id;
871 End_Label : Node_Id)
872 return Node_Id;
873 pragma Inline (Make_Protected_Body);
875 function Make_Entry_Declaration (Sloc : Source_Ptr;
876 Defining_Identifier : Node_Id;
877 Discrete_Subtype_Definition : Node_Id := Empty;
878 Parameter_Specifications : List_Id := No_List)
879 return Node_Id;
880 pragma Inline (Make_Entry_Declaration);
882 function Make_Accept_Statement (Sloc : Source_Ptr;
883 Entry_Direct_Name : Node_Id;
884 Entry_Index : Node_Id := Empty;
885 Parameter_Specifications : List_Id := No_List;
886 Handled_Statement_Sequence : Node_Id;
887 Declarations : List_Id := No_List)
888 return Node_Id;
889 pragma Inline (Make_Accept_Statement);
891 function Make_Entry_Body (Sloc : Source_Ptr;
892 Defining_Identifier : Node_Id;
893 Entry_Body_Formal_Part : Node_Id;
894 Declarations : List_Id;
895 Handled_Statement_Sequence : Node_Id)
896 return Node_Id;
897 pragma Inline (Make_Entry_Body);
899 function Make_Entry_Body_Formal_Part (Sloc : Source_Ptr;
900 Entry_Index_Specification : Node_Id := Empty;
901 Parameter_Specifications : List_Id := No_List;
902 Condition : Node_Id)
903 return Node_Id;
904 pragma Inline (Make_Entry_Body_Formal_Part);
906 function Make_Entry_Index_Specification (Sloc : Source_Ptr;
907 Defining_Identifier : Node_Id;
908 Discrete_Subtype_Definition : Node_Id)
909 return Node_Id;
910 pragma Inline (Make_Entry_Index_Specification);
912 function Make_Entry_Call_Statement (Sloc : Source_Ptr;
913 Name : Node_Id;
914 Parameter_Associations : List_Id := No_List)
915 return Node_Id;
916 pragma Inline (Make_Entry_Call_Statement);
918 function Make_Requeue_Statement (Sloc : Source_Ptr;
919 Name : Node_Id;
920 Abort_Present : Boolean := False)
921 return Node_Id;
922 pragma Inline (Make_Requeue_Statement);
924 function Make_Delay_Until_Statement (Sloc : Source_Ptr;
925 Expression : Node_Id)
926 return Node_Id;
927 pragma Inline (Make_Delay_Until_Statement);
929 function Make_Delay_Relative_Statement (Sloc : Source_Ptr;
930 Expression : Node_Id)
931 return Node_Id;
932 pragma Inline (Make_Delay_Relative_Statement);
934 function Make_Selective_Accept (Sloc : Source_Ptr;
935 Select_Alternatives : List_Id;
936 Else_Statements : List_Id := No_List)
937 return Node_Id;
938 pragma Inline (Make_Selective_Accept);
940 function Make_Accept_Alternative (Sloc : Source_Ptr;
941 Accept_Statement : Node_Id;
942 Condition : Node_Id := Empty;
943 Statements : List_Id := Empty_List;
944 Pragmas_Before : List_Id := No_List)
945 return Node_Id;
946 pragma Inline (Make_Accept_Alternative);
948 function Make_Delay_Alternative (Sloc : Source_Ptr;
949 Delay_Statement : Node_Id;
950 Condition : Node_Id := Empty;
951 Statements : List_Id := Empty_List;
952 Pragmas_Before : List_Id := No_List)
953 return Node_Id;
954 pragma Inline (Make_Delay_Alternative);
956 function Make_Terminate_Alternative (Sloc : Source_Ptr;
957 Condition : Node_Id := Empty;
958 Pragmas_Before : List_Id := No_List;
959 Pragmas_After : List_Id := No_List)
960 return Node_Id;
961 pragma Inline (Make_Terminate_Alternative);
963 function Make_Timed_Entry_Call (Sloc : Source_Ptr;
964 Entry_Call_Alternative : Node_Id;
965 Delay_Alternative : Node_Id)
966 return Node_Id;
967 pragma Inline (Make_Timed_Entry_Call);
969 function Make_Entry_Call_Alternative (Sloc : Source_Ptr;
970 Entry_Call_Statement : Node_Id;
971 Statements : List_Id := Empty_List;
972 Pragmas_Before : List_Id := No_List)
973 return Node_Id;
974 pragma Inline (Make_Entry_Call_Alternative);
976 function Make_Conditional_Entry_Call (Sloc : Source_Ptr;
977 Entry_Call_Alternative : Node_Id;
978 Else_Statements : List_Id)
979 return Node_Id;
980 pragma Inline (Make_Conditional_Entry_Call);
982 function Make_Asynchronous_Select (Sloc : Source_Ptr;
983 Triggering_Alternative : Node_Id;
984 Abortable_Part : Node_Id)
985 return Node_Id;
986 pragma Inline (Make_Asynchronous_Select);
988 function Make_Triggering_Alternative (Sloc : Source_Ptr;
989 Triggering_Statement : Node_Id;
990 Statements : List_Id := Empty_List;
991 Pragmas_Before : List_Id := No_List)
992 return Node_Id;
993 pragma Inline (Make_Triggering_Alternative);
995 function Make_Abortable_Part (Sloc : Source_Ptr;
996 Statements : List_Id)
997 return Node_Id;
998 pragma Inline (Make_Abortable_Part);
1000 function Make_Abort_Statement (Sloc : Source_Ptr;
1001 Names : List_Id)
1002 return Node_Id;
1003 pragma Inline (Make_Abort_Statement);
1005 function Make_Compilation_Unit (Sloc : Source_Ptr;
1006 Context_Items : List_Id;
1007 Private_Present : Boolean := False;
1008 Unit : Node_Id;
1009 Aux_Decls_Node : Node_Id)
1010 return Node_Id;
1011 pragma Inline (Make_Compilation_Unit);
1013 function Make_Compilation_Unit_Aux (Sloc : Source_Ptr;
1014 Declarations : List_Id := No_List;
1015 Actions : List_Id := No_List;
1016 Pragmas_After : List_Id := No_List)
1017 return Node_Id;
1018 pragma Inline (Make_Compilation_Unit_Aux);
1020 function Make_With_Clause (Sloc : Source_Ptr;
1021 Name : Node_Id;
1022 First_Name : Boolean := True;
1023 Last_Name : Boolean := True)
1024 return Node_Id;
1025 pragma Inline (Make_With_Clause);
1027 function Make_With_Type_Clause (Sloc : Source_Ptr;
1028 Name : Node_Id;
1029 Tagged_Present : Boolean := False)
1030 return Node_Id;
1031 pragma Inline (Make_With_Type_Clause);
1033 function Make_Subprogram_Body_Stub (Sloc : Source_Ptr;
1034 Specification : Node_Id)
1035 return Node_Id;
1036 pragma Inline (Make_Subprogram_Body_Stub);
1038 function Make_Package_Body_Stub (Sloc : Source_Ptr;
1039 Defining_Identifier : Node_Id)
1040 return Node_Id;
1041 pragma Inline (Make_Package_Body_Stub);
1043 function Make_Task_Body_Stub (Sloc : Source_Ptr;
1044 Defining_Identifier : Node_Id)
1045 return Node_Id;
1046 pragma Inline (Make_Task_Body_Stub);
1048 function Make_Protected_Body_Stub (Sloc : Source_Ptr;
1049 Defining_Identifier : Node_Id)
1050 return Node_Id;
1051 pragma Inline (Make_Protected_Body_Stub);
1053 function Make_Subunit (Sloc : Source_Ptr;
1054 Name : Node_Id;
1055 Proper_Body : Node_Id)
1056 return Node_Id;
1057 pragma Inline (Make_Subunit);
1059 function Make_Exception_Declaration (Sloc : Source_Ptr;
1060 Defining_Identifier : Node_Id)
1061 return Node_Id;
1062 pragma Inline (Make_Exception_Declaration);
1064 function Make_Handled_Sequence_Of_Statements (Sloc : Source_Ptr;
1065 Statements : List_Id;
1066 End_Label : Node_Id := Empty;
1067 Exception_Handlers : List_Id := No_List;
1068 At_End_Proc : Node_Id := Empty)
1069 return Node_Id;
1070 pragma Inline (Make_Handled_Sequence_Of_Statements);
1072 function Make_Exception_Handler (Sloc : Source_Ptr;
1073 Choice_Parameter : Node_Id := Empty;
1074 Exception_Choices : List_Id;
1075 Statements : List_Id)
1076 return Node_Id;
1077 pragma Inline (Make_Exception_Handler);
1079 function Make_Raise_Statement (Sloc : Source_Ptr;
1080 Name : Node_Id := Empty)
1081 return Node_Id;
1082 pragma Inline (Make_Raise_Statement);
1084 function Make_Generic_Subprogram_Declaration (Sloc : Source_Ptr;
1085 Specification : Node_Id;
1086 Generic_Formal_Declarations : List_Id)
1087 return Node_Id;
1088 pragma Inline (Make_Generic_Subprogram_Declaration);
1090 function Make_Generic_Package_Declaration (Sloc : Source_Ptr;
1091 Specification : Node_Id;
1092 Generic_Formal_Declarations : List_Id)
1093 return Node_Id;
1094 pragma Inline (Make_Generic_Package_Declaration);
1096 function Make_Package_Instantiation (Sloc : Source_Ptr;
1097 Defining_Unit_Name : Node_Id;
1098 Name : Node_Id;
1099 Generic_Associations : List_Id := No_List)
1100 return Node_Id;
1101 pragma Inline (Make_Package_Instantiation);
1103 function Make_Procedure_Instantiation (Sloc : Source_Ptr;
1104 Defining_Unit_Name : Node_Id;
1105 Name : Node_Id;
1106 Generic_Associations : List_Id := No_List)
1107 return Node_Id;
1108 pragma Inline (Make_Procedure_Instantiation);
1110 function Make_Function_Instantiation (Sloc : Source_Ptr;
1111 Defining_Unit_Name : Node_Id;
1112 Name : Node_Id;
1113 Generic_Associations : List_Id := No_List)
1114 return Node_Id;
1115 pragma Inline (Make_Function_Instantiation);
1117 function Make_Generic_Association (Sloc : Source_Ptr;
1118 Selector_Name : Node_Id := Empty;
1119 Explicit_Generic_Actual_Parameter : Node_Id)
1120 return Node_Id;
1121 pragma Inline (Make_Generic_Association);
1123 function Make_Formal_Object_Declaration (Sloc : Source_Ptr;
1124 Defining_Identifier : Node_Id;
1125 In_Present : Boolean := False;
1126 Out_Present : Boolean := False;
1127 Subtype_Mark : Node_Id;
1128 Expression : Node_Id := Empty)
1129 return Node_Id;
1130 pragma Inline (Make_Formal_Object_Declaration);
1132 function Make_Formal_Type_Declaration (Sloc : Source_Ptr;
1133 Defining_Identifier : Node_Id;
1134 Formal_Type_Definition : Node_Id;
1135 Discriminant_Specifications : List_Id := No_List;
1136 Unknown_Discriminants_Present : Boolean := False)
1137 return Node_Id;
1138 pragma Inline (Make_Formal_Type_Declaration);
1140 function Make_Formal_Private_Type_Definition (Sloc : Source_Ptr;
1141 Abstract_Present : Boolean := False;
1142 Tagged_Present : Boolean := False;
1143 Limited_Present : Boolean := False)
1144 return Node_Id;
1145 pragma Inline (Make_Formal_Private_Type_Definition);
1147 function Make_Formal_Derived_Type_Definition (Sloc : Source_Ptr;
1148 Subtype_Mark : Node_Id;
1149 Private_Present : Boolean := False;
1150 Abstract_Present : Boolean := False)
1151 return Node_Id;
1152 pragma Inline (Make_Formal_Derived_Type_Definition);
1154 function Make_Formal_Discrete_Type_Definition (Sloc : Source_Ptr)
1155 return Node_Id;
1156 pragma Inline (Make_Formal_Discrete_Type_Definition);
1158 function Make_Formal_Signed_Integer_Type_Definition (Sloc : Source_Ptr)
1159 return Node_Id;
1160 pragma Inline (Make_Formal_Signed_Integer_Type_Definition);
1162 function Make_Formal_Modular_Type_Definition (Sloc : Source_Ptr)
1163 return Node_Id;
1164 pragma Inline (Make_Formal_Modular_Type_Definition);
1166 function Make_Formal_Floating_Point_Definition (Sloc : Source_Ptr)
1167 return Node_Id;
1168 pragma Inline (Make_Formal_Floating_Point_Definition);
1170 function Make_Formal_Ordinary_Fixed_Point_Definition (Sloc : Source_Ptr)
1171 return Node_Id;
1172 pragma Inline (Make_Formal_Ordinary_Fixed_Point_Definition);
1174 function Make_Formal_Decimal_Fixed_Point_Definition (Sloc : Source_Ptr)
1175 return Node_Id;
1176 pragma Inline (Make_Formal_Decimal_Fixed_Point_Definition);
1178 function Make_Formal_Subprogram_Declaration (Sloc : Source_Ptr;
1179 Specification : Node_Id;
1180 Default_Name : Node_Id := Empty;
1181 Box_Present : Boolean := False)
1182 return Node_Id;
1183 pragma Inline (Make_Formal_Subprogram_Declaration);
1185 function Make_Formal_Package_Declaration (Sloc : Source_Ptr;
1186 Defining_Identifier : Node_Id;
1187 Name : Node_Id;
1188 Generic_Associations : List_Id := No_List;
1189 Box_Present : Boolean := False)
1190 return Node_Id;
1191 pragma Inline (Make_Formal_Package_Declaration);
1193 function Make_Attribute_Definition_Clause (Sloc : Source_Ptr;
1194 Name : Node_Id;
1195 Chars : Name_Id;
1196 Expression : Node_Id)
1197 return Node_Id;
1198 pragma Inline (Make_Attribute_Definition_Clause);
1200 function Make_Enumeration_Representation_Clause (Sloc : Source_Ptr;
1201 Identifier : Node_Id;
1202 Array_Aggregate : Node_Id)
1203 return Node_Id;
1204 pragma Inline (Make_Enumeration_Representation_Clause);
1206 function Make_Record_Representation_Clause (Sloc : Source_Ptr;
1207 Identifier : Node_Id;
1208 Mod_Clause : Node_Id := Empty;
1209 Component_Clauses : List_Id)
1210 return Node_Id;
1211 pragma Inline (Make_Record_Representation_Clause);
1213 function Make_Component_Clause (Sloc : Source_Ptr;
1214 Component_Name : Node_Id;
1215 Position : Node_Id;
1216 First_Bit : Node_Id;
1217 Last_Bit : Node_Id)
1218 return Node_Id;
1219 pragma Inline (Make_Component_Clause);
1221 function Make_Code_Statement (Sloc : Source_Ptr;
1222 Expression : Node_Id)
1223 return Node_Id;
1224 pragma Inline (Make_Code_Statement);
1226 function Make_Op_Rotate_Left (Sloc : Source_Ptr;
1227 Left_Opnd : Node_Id;
1228 Right_Opnd : Node_Id)
1229 return Node_Id;
1230 pragma Inline (Make_Op_Rotate_Left);
1232 function Make_Op_Rotate_Right (Sloc : Source_Ptr;
1233 Left_Opnd : Node_Id;
1234 Right_Opnd : Node_Id)
1235 return Node_Id;
1236 pragma Inline (Make_Op_Rotate_Right);
1238 function Make_Op_Shift_Left (Sloc : Source_Ptr;
1239 Left_Opnd : Node_Id;
1240 Right_Opnd : Node_Id)
1241 return Node_Id;
1242 pragma Inline (Make_Op_Shift_Left);
1244 function Make_Op_Shift_Right_Arithmetic (Sloc : Source_Ptr;
1245 Left_Opnd : Node_Id;
1246 Right_Opnd : Node_Id)
1247 return Node_Id;
1248 pragma Inline (Make_Op_Shift_Right_Arithmetic);
1250 function Make_Op_Shift_Right (Sloc : Source_Ptr;
1251 Left_Opnd : Node_Id;
1252 Right_Opnd : Node_Id)
1253 return Node_Id;
1254 pragma Inline (Make_Op_Shift_Right);
1256 function Make_Delta_Constraint (Sloc : Source_Ptr;
1257 Delta_Expression : Node_Id;
1258 Range_Constraint : Node_Id := Empty)
1259 return Node_Id;
1260 pragma Inline (Make_Delta_Constraint);
1262 function Make_At_Clause (Sloc : Source_Ptr;
1263 Identifier : Node_Id;
1264 Expression : Node_Id)
1265 return Node_Id;
1266 pragma Inline (Make_At_Clause);
1268 function Make_Mod_Clause (Sloc : Source_Ptr;
1269 Expression : Node_Id;
1270 Pragmas_Before : List_Id)
1271 return Node_Id;
1272 pragma Inline (Make_Mod_Clause);
1274 function Make_Conditional_Expression (Sloc : Source_Ptr;
1275 Expressions : List_Id)
1276 return Node_Id;
1277 pragma Inline (Make_Conditional_Expression);
1279 function Make_Expanded_Name (Sloc : Source_Ptr;
1280 Chars : Name_Id;
1281 Prefix : Node_Id;
1282 Selector_Name : Node_Id)
1283 return Node_Id;
1284 pragma Inline (Make_Expanded_Name);
1286 function Make_Free_Statement (Sloc : Source_Ptr;
1287 Expression : Node_Id)
1288 return Node_Id;
1289 pragma Inline (Make_Free_Statement);
1291 function Make_Freeze_Entity (Sloc : Source_Ptr;
1292 Actions : List_Id := No_List)
1293 return Node_Id;
1294 pragma Inline (Make_Freeze_Entity);
1296 function Make_Implicit_Label_Declaration (Sloc : Source_Ptr;
1297 Defining_Identifier : Node_Id)
1298 return Node_Id;
1299 pragma Inline (Make_Implicit_Label_Declaration);
1301 function Make_Itype_Reference (Sloc : Source_Ptr)
1302 return Node_Id;
1303 pragma Inline (Make_Itype_Reference);
1305 function Make_Raise_Constraint_Error (Sloc : Source_Ptr;
1306 Condition : Node_Id := Empty;
1307 Reason : Uint)
1308 return Node_Id;
1309 pragma Inline (Make_Raise_Constraint_Error);
1311 function Make_Raise_Program_Error (Sloc : Source_Ptr;
1312 Condition : Node_Id := Empty;
1313 Reason : Uint)
1314 return Node_Id;
1315 pragma Inline (Make_Raise_Program_Error);
1317 function Make_Raise_Storage_Error (Sloc : Source_Ptr;
1318 Condition : Node_Id := Empty;
1319 Reason : Uint)
1320 return Node_Id;
1321 pragma Inline (Make_Raise_Storage_Error);
1323 function Make_Reference (Sloc : Source_Ptr;
1324 Prefix : Node_Id)
1325 return Node_Id;
1326 pragma Inline (Make_Reference);
1328 function Make_Subprogram_Info (Sloc : Source_Ptr;
1329 Identifier : Node_Id)
1330 return Node_Id;
1331 pragma Inline (Make_Subprogram_Info);
1333 function Make_Unchecked_Expression (Sloc : Source_Ptr;
1334 Expression : Node_Id)
1335 return Node_Id;
1336 pragma Inline (Make_Unchecked_Expression);
1338 function Make_Unchecked_Type_Conversion (Sloc : Source_Ptr;
1339 Subtype_Mark : Node_Id;
1340 Expression : Node_Id)
1341 return Node_Id;
1342 pragma Inline (Make_Unchecked_Type_Conversion);
1344 function Make_Validate_Unchecked_Conversion (Sloc : Source_Ptr)
1345 return Node_Id;
1346 pragma Inline (Make_Validate_Unchecked_Conversion);
1348 end Nmake;