OSDN Git Service

Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
[pf3gnuchains/gcc-fork.git] / gcc / ada / sinfo.adb
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                                S I N F O                                 --
6 --                                                                          --
7 --                                 B o d y                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
10 --                                                                          --
11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
12 -- terms of the  GNU General Public License as published  by the Free Soft- --
13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
17 --                                                                          --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception,   --
20 -- version 3.1, as published by the Free Software Foundation.               --
21 --                                                                          --
22 -- You should have received a copy of the GNU General Public License and    --
23 -- a copy of the GCC Runtime Library Exception along with this program;     --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
25 -- <http://www.gnu.org/licenses/>.                                          --
26 --                                                                          --
27 -- GNAT was originally developed  by the GNAT team at  New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
29 --                                                                          --
30 ------------------------------------------------------------------------------
31
32 pragma Style_Checks (All_Checks);
33 --  No subprogram ordering check, due to logical grouping
34
35 with Atree; use Atree;
36
37 package body Sinfo is
38
39    use Atree.Unchecked_Access;
40    --  This package is one of the few packages which is allowed to make direct
41    --  references to tree nodes (since it is in the business of providing a
42    --  higher level of tree access which other clients are expected to use and
43    --  which implements checks).
44
45    use Atree_Private_Part;
46    --  The only reason that we ask for direct access to the private part of
47    --  the tree package is so that we can directly reference the Nkind field
48    --  of nodes table entries. We do this since it helps the efficiency of
49    --  the Sinfo debugging checks considerably (note that when we are checking
50    --  Nkind values, we don't need to check for a valid node reference, because
51    --  we will check that anyway when we reference the field).
52
53    NT : Nodes.Table_Ptr renames Nodes.Table;
54    --  A short hand abbreviation, useful for the debugging checks
55
56    ----------------------------
57    -- Field Access Functions --
58    ----------------------------
59
60    function ABE_Is_Certain
61       (N : Node_Id) return Boolean is
62    begin
63       pragma Assert (False
64         or else NT (N).Nkind = N_Formal_Package_Declaration
65         or else NT (N).Nkind = N_Function_Call
66         or else NT (N).Nkind = N_Function_Instantiation
67         or else NT (N).Nkind = N_Package_Instantiation
68         or else NT (N).Nkind = N_Procedure_Call_Statement
69         or else NT (N).Nkind = N_Procedure_Instantiation);
70       return Flag18 (N);
71    end ABE_Is_Certain;
72
73    function Abort_Present
74       (N : Node_Id) return Boolean is
75    begin
76       pragma Assert (False
77         or else NT (N).Nkind = N_Requeue_Statement);
78       return Flag15 (N);
79    end Abort_Present;
80
81    function Abortable_Part
82       (N : Node_Id) return Node_Id is
83    begin
84       pragma Assert (False
85         or else NT (N).Nkind = N_Asynchronous_Select);
86       return Node2 (N);
87    end Abortable_Part;
88
89    function Abstract_Present
90       (N : Node_Id) return Boolean is
91    begin
92       pragma Assert (False
93         or else NT (N).Nkind = N_Derived_Type_Definition
94         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
95         or else NT (N).Nkind = N_Formal_Private_Type_Definition
96         or else NT (N).Nkind = N_Private_Extension_Declaration
97         or else NT (N).Nkind = N_Private_Type_Declaration
98         or else NT (N).Nkind = N_Record_Definition);
99       return Flag4 (N);
100    end Abstract_Present;
101
102    function Accept_Handler_Records
103       (N : Node_Id) return List_Id is
104    begin
105       pragma Assert (False
106         or else NT (N).Nkind = N_Accept_Alternative);
107       return List5 (N);
108    end Accept_Handler_Records;
109
110    function Accept_Statement
111       (N : Node_Id) return Node_Id is
112    begin
113       pragma Assert (False
114         or else NT (N).Nkind = N_Accept_Alternative);
115       return Node2 (N);
116    end Accept_Statement;
117
118    function Access_Definition
119      (N : Node_Id) return Node_Id is
120    begin
121       pragma Assert (False
122         or else NT (N).Nkind = N_Component_Definition
123         or else NT (N).Nkind = N_Formal_Object_Declaration
124         or else NT (N).Nkind = N_Object_Renaming_Declaration);
125       return Node3 (N);
126    end Access_Definition;
127
128    function Access_To_Subprogram_Definition
129      (N : Node_Id) return Node_Id is
130    begin
131       pragma Assert (False
132         or else NT (N).Nkind = N_Access_Definition);
133       return Node3 (N);
134    end Access_To_Subprogram_Definition;
135
136    function Access_Types_To_Process
137       (N : Node_Id) return Elist_Id is
138    begin
139       pragma Assert (False
140         or else NT (N).Nkind = N_Freeze_Entity);
141       return Elist2 (N);
142    end Access_Types_To_Process;
143
144    function Actions
145       (N : Node_Id) return List_Id is
146    begin
147       pragma Assert (False
148         or else NT (N).Nkind = N_And_Then
149         or else NT (N).Nkind = N_Compilation_Unit_Aux
150         or else NT (N).Nkind = N_Freeze_Entity
151         or else NT (N).Nkind = N_Or_Else);
152       return List1 (N);
153    end Actions;
154
155    function Activation_Chain_Entity
156       (N : Node_Id) return Node_Id is
157    begin
158       pragma Assert (False
159         or else NT (N).Nkind = N_Block_Statement
160         or else NT (N).Nkind = N_Entry_Body
161         or else NT (N).Nkind = N_Generic_Package_Declaration
162         or else NT (N).Nkind = N_Package_Declaration
163         or else NT (N).Nkind = N_Subprogram_Body
164         or else NT (N).Nkind = N_Task_Body);
165       return Node3 (N);
166    end Activation_Chain_Entity;
167
168    function Acts_As_Spec
169       (N : Node_Id) return Boolean is
170    begin
171       pragma Assert (False
172         or else NT (N).Nkind = N_Compilation_Unit
173         or else NT (N).Nkind = N_Subprogram_Body);
174       return Flag4 (N);
175    end Acts_As_Spec;
176
177    function Actual_Designated_Subtype
178      (N : Node_Id) return Node_Id is
179    begin
180       pragma Assert (False
181         or else NT (N).Nkind = N_Explicit_Dereference
182         or else NT (N).Nkind = N_Free_Statement);
183       return Node4 (N);
184    end Actual_Designated_Subtype;
185
186    function Address_Warning_Posted
187       (N : Node_Id) return Boolean is
188    begin
189       pragma Assert (False
190         or else NT (N).Nkind = N_Attribute_Definition_Clause);
191       return Flag18 (N);
192    end Address_Warning_Posted;
193
194    function Aggregate_Bounds
195       (N : Node_Id) return Node_Id is
196    begin
197       pragma Assert (False
198         or else NT (N).Nkind = N_Aggregate);
199       return Node3 (N);
200    end Aggregate_Bounds;
201
202    function Aliased_Present
203       (N : Node_Id) return Boolean is
204    begin
205       pragma Assert (False
206         or else NT (N).Nkind = N_Component_Definition
207         or else NT (N).Nkind = N_Object_Declaration);
208       return Flag4 (N);
209    end Aliased_Present;
210
211    function All_Others
212       (N : Node_Id) return Boolean is
213    begin
214       pragma Assert (False
215         or else NT (N).Nkind = N_Others_Choice);
216       return Flag11 (N);
217    end All_Others;
218
219    function All_Present
220       (N : Node_Id) return Boolean is
221    begin
222       pragma Assert (False
223         or else NT (N).Nkind = N_Access_Definition
224         or else NT (N).Nkind = N_Access_To_Object_Definition);
225       return Flag15 (N);
226    end All_Present;
227
228    function Alternatives
229       (N : Node_Id) return List_Id is
230    begin
231       pragma Assert (False
232         or else NT (N).Nkind = N_Case_Statement);
233       return List4 (N);
234    end Alternatives;
235
236    function Ancestor_Part
237       (N : Node_Id) return Node_Id is
238    begin
239       pragma Assert (False
240         or else NT (N).Nkind = N_Extension_Aggregate);
241       return Node3 (N);
242    end Ancestor_Part;
243
244    function Array_Aggregate
245       (N : Node_Id) return Node_Id is
246    begin
247       pragma Assert (False
248         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
249       return Node3 (N);
250    end Array_Aggregate;
251
252    function Assignment_OK
253       (N : Node_Id) return Boolean is
254    begin
255       pragma Assert (False
256         or else NT (N).Nkind = N_Object_Declaration
257         or else NT (N).Nkind in N_Subexpr);
258       return Flag15 (N);
259    end Assignment_OK;
260
261    function Associated_Node
262       (N : Node_Id) return Node_Id is
263    begin
264       pragma Assert (False
265         or else NT (N).Nkind in N_Has_Entity
266         or else NT (N).Nkind = N_Aggregate
267         or else NT (N).Nkind = N_Extension_Aggregate
268         or else NT (N).Nkind = N_Selected_Component);
269       return Node4 (N);
270    end Associated_Node;
271
272    function At_End_Proc
273       (N : Node_Id) return Node_Id is
274    begin
275       pragma Assert (False
276         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
277       return Node1 (N);
278    end At_End_Proc;
279
280    function Attribute_Name
281       (N : Node_Id) return Name_Id is
282    begin
283       pragma Assert (False
284         or else NT (N).Nkind = N_Attribute_Reference);
285       return Name2 (N);
286    end Attribute_Name;
287
288    function Aux_Decls_Node
289       (N : Node_Id) return Node_Id is
290    begin
291       pragma Assert (False
292         or else NT (N).Nkind = N_Compilation_Unit);
293       return Node5 (N);
294    end Aux_Decls_Node;
295
296    function Backwards_OK
297       (N : Node_Id) return Boolean is
298    begin
299       pragma Assert (False
300         or else NT (N).Nkind = N_Assignment_Statement);
301       return Flag6 (N);
302    end Backwards_OK;
303
304    function Bad_Is_Detected
305       (N : Node_Id) return Boolean is
306    begin
307       pragma Assert (False
308         or else NT (N).Nkind = N_Subprogram_Body);
309       return Flag15 (N);
310    end Bad_Is_Detected;
311
312    function Body_Required
313       (N : Node_Id) return Boolean is
314    begin
315       pragma Assert (False
316         or else NT (N).Nkind = N_Compilation_Unit);
317       return Flag13 (N);
318    end Body_Required;
319
320    function Body_To_Inline
321       (N : Node_Id) return Node_Id is
322    begin
323       pragma Assert (False
324         or else NT (N).Nkind = N_Subprogram_Declaration);
325       return Node3 (N);
326    end Body_To_Inline;
327
328    function Box_Present
329       (N : Node_Id) return Boolean is
330    begin
331       pragma Assert (False
332         or else NT (N).Nkind = N_Component_Association
333         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
334         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
335         or else NT (N).Nkind = N_Formal_Package_Declaration
336         or else NT (N).Nkind = N_Generic_Association);
337       return Flag15 (N);
338    end Box_Present;
339
340    function By_Ref
341       (N : Node_Id) return Boolean is
342    begin
343       pragma Assert (False
344         or else NT (N).Nkind = N_Extended_Return_Statement
345         or else NT (N).Nkind = N_Return_Statement);
346       return Flag5 (N);
347    end By_Ref;
348
349    function Char_Literal_Value
350       (N : Node_Id) return Uint is
351    begin
352       pragma Assert (False
353         or else NT (N).Nkind = N_Character_Literal);
354       return Uint2 (N);
355    end Char_Literal_Value;
356
357    function Chars
358       (N : Node_Id) return Name_Id is
359    begin
360       pragma Assert (False
361         or else NT (N).Nkind in N_Has_Chars);
362       return Name1 (N);
363    end Chars;
364
365    function Check_Address_Alignment
366       (N : Node_Id) return Boolean is
367    begin
368       pragma Assert (False
369           or else NT (N).Nkind = N_Attribute_Definition_Clause);
370       return Flag11 (N);
371    end Check_Address_Alignment;
372
373    function Choice_Parameter
374       (N : Node_Id) return Node_Id is
375    begin
376       pragma Assert (False
377         or else NT (N).Nkind = N_Exception_Handler);
378       return Node2 (N);
379    end Choice_Parameter;
380
381    function Choices
382       (N : Node_Id) return List_Id is
383    begin
384       pragma Assert (False
385         or else NT (N).Nkind = N_Component_Association);
386       return List1 (N);
387    end Choices;
388
389    function Coextensions
390       (N : Node_Id) return Elist_Id is
391    begin
392       pragma Assert (False
393         or else NT (N).Nkind = N_Allocator);
394       return Elist4 (N);
395    end Coextensions;
396
397    function Comes_From_Extended_Return_Statement
398      (N : Node_Id) return Boolean is
399    begin
400       pragma Assert (False
401         or else NT (N).Nkind = N_Return_Statement);
402       return Flag18 (N);
403    end Comes_From_Extended_Return_Statement;
404
405    function Compile_Time_Known_Aggregate
406       (N : Node_Id) return Boolean is
407    begin
408       pragma Assert (False
409         or else NT (N).Nkind = N_Aggregate);
410       return Flag18 (N);
411    end Compile_Time_Known_Aggregate;
412
413    function Component_Associations
414       (N : Node_Id) return List_Id is
415    begin
416       pragma Assert (False
417         or else NT (N).Nkind = N_Aggregate
418         or else NT (N).Nkind = N_Extension_Aggregate);
419       return List2 (N);
420    end Component_Associations;
421
422    function Component_Clauses
423       (N : Node_Id) return List_Id is
424    begin
425       pragma Assert (False
426         or else NT (N).Nkind = N_Record_Representation_Clause);
427       return List3 (N);
428    end Component_Clauses;
429
430    function Component_Definition
431       (N : Node_Id) return Node_Id is
432    begin
433       pragma Assert (False
434         or else NT (N).Nkind = N_Component_Declaration
435         or else NT (N).Nkind = N_Constrained_Array_Definition
436         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
437       return Node4 (N);
438    end Component_Definition;
439
440    function Component_Items
441       (N : Node_Id) return List_Id is
442    begin
443       pragma Assert (False
444         or else NT (N).Nkind = N_Component_List);
445       return List3 (N);
446    end Component_Items;
447
448    function Component_List
449       (N : Node_Id) return Node_Id is
450    begin
451       pragma Assert (False
452         or else NT (N).Nkind = N_Record_Definition
453         or else NT (N).Nkind = N_Variant);
454       return Node1 (N);
455    end Component_List;
456
457    function Component_Name
458       (N : Node_Id) return Node_Id is
459    begin
460       pragma Assert (False
461         or else NT (N).Nkind = N_Component_Clause);
462       return Node1 (N);
463    end Component_Name;
464
465    function Condition
466       (N : Node_Id) return Node_Id is
467    begin
468       pragma Assert (False
469         or else NT (N).Nkind = N_Accept_Alternative
470         or else NT (N).Nkind = N_Delay_Alternative
471         or else NT (N).Nkind = N_Elsif_Part
472         or else NT (N).Nkind = N_Entry_Body_Formal_Part
473         or else NT (N).Nkind = N_Exit_Statement
474         or else NT (N).Nkind = N_If_Statement
475         or else NT (N).Nkind = N_Iteration_Scheme
476         or else NT (N).Nkind = N_Raise_Constraint_Error
477         or else NT (N).Nkind = N_Raise_Program_Error
478         or else NT (N).Nkind = N_Raise_Storage_Error
479         or else NT (N).Nkind = N_Terminate_Alternative);
480       return Node1 (N);
481    end Condition;
482
483    function Condition_Actions
484       (N : Node_Id) return List_Id is
485    begin
486       pragma Assert (False
487         or else NT (N).Nkind = N_Elsif_Part
488         or else NT (N).Nkind = N_Iteration_Scheme);
489       return List3 (N);
490    end Condition_Actions;
491
492    function Config_Pragmas
493       (N : Node_Id) return List_Id is
494    begin
495       pragma Assert (False
496         or else NT (N).Nkind = N_Compilation_Unit_Aux);
497       return List4 (N);
498    end Config_Pragmas;
499
500    function Constant_Present
501       (N : Node_Id) return Boolean is
502    begin
503       pragma Assert (False
504         or else NT (N).Nkind = N_Access_Definition
505         or else NT (N).Nkind = N_Access_To_Object_Definition
506         or else NT (N).Nkind = N_Object_Declaration);
507       return Flag17 (N);
508    end Constant_Present;
509
510    function Constraint
511       (N : Node_Id) return Node_Id is
512    begin
513       pragma Assert (False
514         or else NT (N).Nkind = N_Subtype_Indication);
515       return Node3 (N);
516    end Constraint;
517
518    function Constraints
519       (N : Node_Id) return List_Id is
520    begin
521       pragma Assert (False
522         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
523       return List1 (N);
524    end Constraints;
525
526    function Context_Installed
527       (N : Node_Id) return Boolean is
528    begin
529       pragma Assert (False
530         or else NT (N).Nkind = N_With_Clause);
531       return Flag13 (N);
532    end Context_Installed;
533
534    function Context_Items
535       (N : Node_Id) return List_Id is
536    begin
537       pragma Assert (False
538         or else NT (N).Nkind = N_Compilation_Unit);
539       return List1 (N);
540    end Context_Items;
541
542    function Controlling_Argument
543       (N : Node_Id) return Node_Id is
544    begin
545       pragma Assert (False
546         or else NT (N).Nkind = N_Function_Call
547         or else NT (N).Nkind = N_Procedure_Call_Statement);
548       return Node1 (N);
549    end Controlling_Argument;
550
551    function Conversion_OK
552       (N : Node_Id) return Boolean is
553    begin
554       pragma Assert (False
555         or else NT (N).Nkind = N_Type_Conversion);
556       return Flag14 (N);
557    end Conversion_OK;
558
559    function Corresponding_Body
560       (N : Node_Id) return Node_Id is
561    begin
562       pragma Assert (False
563         or else NT (N).Nkind = N_Entry_Declaration
564         or else NT (N).Nkind = N_Generic_Package_Declaration
565         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
566         or else NT (N).Nkind = N_Package_Body_Stub
567         or else NT (N).Nkind = N_Package_Declaration
568         or else NT (N).Nkind = N_Protected_Body_Stub
569         or else NT (N).Nkind = N_Protected_Type_Declaration
570         or else NT (N).Nkind = N_Subprogram_Body_Stub
571         or else NT (N).Nkind = N_Subprogram_Declaration
572         or else NT (N).Nkind = N_Task_Body_Stub
573         or else NT (N).Nkind = N_Task_Type_Declaration);
574       return Node5 (N);
575    end Corresponding_Body;
576
577    function Corresponding_Formal_Spec
578       (N : Node_Id) return Node_Id is
579    begin
580       pragma Assert (False
581         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
582       return Node3 (N);
583    end Corresponding_Formal_Spec;
584
585    function Corresponding_Generic_Association
586       (N : Node_Id) return Node_Id is
587    begin
588       pragma Assert (False
589         or else NT (N).Nkind = N_Object_Declaration
590         or else NT (N).Nkind = N_Object_Renaming_Declaration);
591       return Node5 (N);
592    end Corresponding_Generic_Association;
593
594    function Corresponding_Integer_Value
595       (N : Node_Id) return Uint is
596    begin
597       pragma Assert (False
598         or else NT (N).Nkind = N_Real_Literal);
599       return Uint4 (N);
600    end Corresponding_Integer_Value;
601
602    function Corresponding_Spec
603       (N : Node_Id) return Node_Id is
604    begin
605       pragma Assert (False
606         or else NT (N).Nkind = N_Package_Body
607         or else NT (N).Nkind = N_Protected_Body
608         or else NT (N).Nkind = N_Subprogram_Body
609         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
610         or else NT (N).Nkind = N_Task_Body
611         or else NT (N).Nkind = N_With_Clause);
612       return Node5 (N);
613    end Corresponding_Spec;
614
615    function Corresponding_Stub
616       (N : Node_Id) return Node_Id is
617    begin
618       pragma Assert (False
619         or else NT (N).Nkind = N_Subunit);
620       return Node3 (N);
621    end Corresponding_Stub;
622
623    function Dcheck_Function
624       (N : Node_Id) return Entity_Id is
625    begin
626       pragma Assert (False
627         or else NT (N).Nkind = N_Variant);
628       return Node5 (N);
629    end Dcheck_Function;
630
631    function Debug_Statement
632       (N : Node_Id) return Node_Id is
633    begin
634       pragma Assert (False
635         or else NT (N).Nkind = N_Pragma);
636       return Node3 (N);
637    end Debug_Statement;
638
639    function Declarations
640       (N : Node_Id) return List_Id is
641    begin
642       pragma Assert (False
643         or else NT (N).Nkind = N_Accept_Statement
644         or else NT (N).Nkind = N_Block_Statement
645         or else NT (N).Nkind = N_Compilation_Unit_Aux
646         or else NT (N).Nkind = N_Entry_Body
647         or else NT (N).Nkind = N_Package_Body
648         or else NT (N).Nkind = N_Protected_Body
649         or else NT (N).Nkind = N_Subprogram_Body
650         or else NT (N).Nkind = N_Task_Body);
651       return List2 (N);
652    end Declarations;
653
654    function Default_Expression
655       (N : Node_Id) return Node_Id is
656    begin
657       pragma Assert (False
658         or else NT (N).Nkind = N_Formal_Object_Declaration
659         or else NT (N).Nkind = N_Parameter_Specification);
660       return Node5 (N);
661    end Default_Expression;
662
663    function Default_Name
664       (N : Node_Id) return Node_Id is
665    begin
666       pragma Assert (False
667         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
668         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
669       return Node2 (N);
670    end Default_Name;
671
672    function Defining_Identifier
673       (N : Node_Id) return Entity_Id is
674    begin
675       pragma Assert (False
676         or else NT (N).Nkind = N_Component_Declaration
677         or else NT (N).Nkind = N_Defining_Program_Unit_Name
678         or else NT (N).Nkind = N_Discriminant_Specification
679         or else NT (N).Nkind = N_Entry_Body
680         or else NT (N).Nkind = N_Entry_Declaration
681         or else NT (N).Nkind = N_Entry_Index_Specification
682         or else NT (N).Nkind = N_Exception_Declaration
683         or else NT (N).Nkind = N_Exception_Renaming_Declaration
684         or else NT (N).Nkind = N_Formal_Object_Declaration
685         or else NT (N).Nkind = N_Formal_Package_Declaration
686         or else NT (N).Nkind = N_Formal_Type_Declaration
687         or else NT (N).Nkind = N_Full_Type_Declaration
688         or else NT (N).Nkind = N_Implicit_Label_Declaration
689         or else NT (N).Nkind = N_Incomplete_Type_Declaration
690         or else NT (N).Nkind = N_Loop_Parameter_Specification
691         or else NT (N).Nkind = N_Number_Declaration
692         or else NT (N).Nkind = N_Object_Declaration
693         or else NT (N).Nkind = N_Object_Renaming_Declaration
694         or else NT (N).Nkind = N_Package_Body_Stub
695         or else NT (N).Nkind = N_Parameter_Specification
696         or else NT (N).Nkind = N_Private_Extension_Declaration
697         or else NT (N).Nkind = N_Private_Type_Declaration
698         or else NT (N).Nkind = N_Protected_Body
699         or else NT (N).Nkind = N_Protected_Body_Stub
700         or else NT (N).Nkind = N_Protected_Type_Declaration
701         or else NT (N).Nkind = N_Single_Protected_Declaration
702         or else NT (N).Nkind = N_Single_Task_Declaration
703         or else NT (N).Nkind = N_Subtype_Declaration
704         or else NT (N).Nkind = N_Task_Body
705         or else NT (N).Nkind = N_Task_Body_Stub
706         or else NT (N).Nkind = N_Task_Type_Declaration);
707       return Node1 (N);
708    end Defining_Identifier;
709
710    function Defining_Unit_Name
711       (N : Node_Id) return Node_Id is
712    begin
713       pragma Assert (False
714         or else NT (N).Nkind = N_Function_Instantiation
715         or else NT (N).Nkind = N_Function_Specification
716         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
717         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
718         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
719         or else NT (N).Nkind = N_Package_Body
720         or else NT (N).Nkind = N_Package_Instantiation
721         or else NT (N).Nkind = N_Package_Renaming_Declaration
722         or else NT (N).Nkind = N_Package_Specification
723         or else NT (N).Nkind = N_Procedure_Instantiation
724         or else NT (N).Nkind = N_Procedure_Specification);
725       return Node1 (N);
726    end Defining_Unit_Name;
727
728    function Delay_Alternative
729       (N : Node_Id) return Node_Id is
730    begin
731       pragma Assert (False
732         or else NT (N).Nkind = N_Timed_Entry_Call);
733       return Node4 (N);
734    end Delay_Alternative;
735
736    function Delay_Statement
737       (N : Node_Id) return Node_Id is
738    begin
739       pragma Assert (False
740         or else NT (N).Nkind = N_Delay_Alternative);
741       return Node2 (N);
742    end Delay_Statement;
743
744    function Delta_Expression
745       (N : Node_Id) return Node_Id is
746    begin
747       pragma Assert (False
748         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
749         or else NT (N).Nkind = N_Delta_Constraint
750         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
751       return Node3 (N);
752    end Delta_Expression;
753
754    function Digits_Expression
755       (N : Node_Id) return Node_Id is
756    begin
757       pragma Assert (False
758         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
759         or else NT (N).Nkind = N_Digits_Constraint
760         or else NT (N).Nkind = N_Floating_Point_Definition);
761       return Node2 (N);
762    end Digits_Expression;
763
764    function Discr_Check_Funcs_Built
765       (N : Node_Id) return Boolean is
766    begin
767       pragma Assert (False
768         or else NT (N).Nkind = N_Full_Type_Declaration);
769       return Flag11 (N);
770    end Discr_Check_Funcs_Built;
771
772    function Discrete_Choices
773       (N : Node_Id) return List_Id is
774    begin
775       pragma Assert (False
776         or else NT (N).Nkind = N_Case_Statement_Alternative
777         or else NT (N).Nkind = N_Variant);
778       return List4 (N);
779    end Discrete_Choices;
780
781    function Discrete_Range
782       (N : Node_Id) return Node_Id is
783    begin
784       pragma Assert (False
785         or else NT (N).Nkind = N_Slice);
786       return Node4 (N);
787    end Discrete_Range;
788
789    function Discrete_Subtype_Definition
790       (N : Node_Id) return Node_Id is
791    begin
792       pragma Assert (False
793         or else NT (N).Nkind = N_Entry_Declaration
794         or else NT (N).Nkind = N_Entry_Index_Specification
795         or else NT (N).Nkind = N_Loop_Parameter_Specification);
796       return Node4 (N);
797    end Discrete_Subtype_Definition;
798
799    function Discrete_Subtype_Definitions
800       (N : Node_Id) return List_Id is
801    begin
802       pragma Assert (False
803         or else NT (N).Nkind = N_Constrained_Array_Definition);
804       return List2 (N);
805    end Discrete_Subtype_Definitions;
806
807    function Discriminant_Specifications
808       (N : Node_Id) return List_Id is
809    begin
810       pragma Assert (False
811         or else NT (N).Nkind = N_Formal_Type_Declaration
812         or else NT (N).Nkind = N_Full_Type_Declaration
813         or else NT (N).Nkind = N_Incomplete_Type_Declaration
814         or else NT (N).Nkind = N_Private_Extension_Declaration
815         or else NT (N).Nkind = N_Private_Type_Declaration
816         or else NT (N).Nkind = N_Protected_Type_Declaration
817         or else NT (N).Nkind = N_Task_Type_Declaration);
818       return List4 (N);
819    end Discriminant_Specifications;
820
821    function Discriminant_Type
822       (N : Node_Id) return Node_Id is
823    begin
824       pragma Assert (False
825         or else NT (N).Nkind = N_Discriminant_Specification);
826       return Node5 (N);
827    end Discriminant_Type;
828
829    function Do_Accessibility_Check
830       (N : Node_Id) return Boolean is
831    begin
832       pragma Assert (False
833         or else NT (N).Nkind = N_Parameter_Specification);
834       return Flag13 (N);
835    end Do_Accessibility_Check;
836
837    function Do_Discriminant_Check
838       (N : Node_Id) return Boolean is
839    begin
840       pragma Assert (False
841         or else NT (N).Nkind = N_Selected_Component);
842       return Flag13 (N);
843    end Do_Discriminant_Check;
844
845    function Do_Division_Check
846       (N : Node_Id) return Boolean is
847    begin
848       pragma Assert (False
849         or else NT (N).Nkind = N_Op_Divide
850         or else NT (N).Nkind = N_Op_Mod
851         or else NT (N).Nkind = N_Op_Rem);
852       return Flag13 (N);
853    end Do_Division_Check;
854
855    function Do_Length_Check
856       (N : Node_Id) return Boolean is
857    begin
858       pragma Assert (False
859         or else NT (N).Nkind = N_Assignment_Statement
860         or else NT (N).Nkind = N_Op_And
861         or else NT (N).Nkind = N_Op_Or
862         or else NT (N).Nkind = N_Op_Xor
863         or else NT (N).Nkind = N_Type_Conversion);
864       return Flag4 (N);
865    end Do_Length_Check;
866
867    function Do_Overflow_Check
868       (N : Node_Id) return Boolean is
869    begin
870       pragma Assert (False
871         or else NT (N).Nkind in N_Op
872         or else NT (N).Nkind = N_Attribute_Reference
873         or else NT (N).Nkind = N_Type_Conversion);
874       return Flag17 (N);
875    end Do_Overflow_Check;
876
877    function Do_Range_Check
878       (N : Node_Id) return Boolean is
879    begin
880       pragma Assert (False
881         or else NT (N).Nkind in N_Subexpr);
882       return Flag9 (N);
883    end Do_Range_Check;
884
885    function Do_Storage_Check
886       (N : Node_Id) return Boolean is
887    begin
888       pragma Assert (False
889         or else NT (N).Nkind = N_Allocator
890         or else NT (N).Nkind = N_Subprogram_Body);
891       return Flag17 (N);
892    end Do_Storage_Check;
893
894    function Do_Tag_Check
895       (N : Node_Id) return Boolean is
896    begin
897       pragma Assert (False
898         or else NT (N).Nkind = N_Assignment_Statement
899         or else NT (N).Nkind = N_Extended_Return_Statement
900         or else NT (N).Nkind = N_Function_Call
901         or else NT (N).Nkind = N_Procedure_Call_Statement
902         or else NT (N).Nkind = N_Return_Statement
903         or else NT (N).Nkind = N_Type_Conversion);
904       return Flag13 (N);
905    end Do_Tag_Check;
906
907    function Elaborate_All_Desirable
908       (N : Node_Id) return Boolean is
909    begin
910       pragma Assert (False
911         or else NT (N).Nkind = N_With_Clause);
912       return Flag9 (N);
913    end Elaborate_All_Desirable;
914
915    function Elaborate_All_Present
916       (N : Node_Id) return Boolean is
917    begin
918       pragma Assert (False
919         or else NT (N).Nkind = N_With_Clause);
920       return Flag14 (N);
921    end Elaborate_All_Present;
922
923    function Elaborate_Desirable
924       (N : Node_Id) return Boolean is
925    begin
926       pragma Assert (False
927         or else NT (N).Nkind = N_With_Clause);
928       return Flag11 (N);
929    end Elaborate_Desirable;
930
931    function Elaborate_Present
932       (N : Node_Id) return Boolean is
933    begin
934       pragma Assert (False
935         or else NT (N).Nkind = N_With_Clause);
936       return Flag4 (N);
937    end Elaborate_Present;
938
939    function Elaboration_Boolean
940       (N : Node_Id) return Node_Id is
941    begin
942       pragma Assert (False
943         or else NT (N).Nkind = N_Function_Specification
944         or else NT (N).Nkind = N_Procedure_Specification);
945       return Node2 (N);
946    end Elaboration_Boolean;
947
948    function Else_Actions
949       (N : Node_Id) return List_Id is
950    begin
951       pragma Assert (False
952         or else NT (N).Nkind = N_Conditional_Expression);
953       return List3 (N);
954    end Else_Actions;
955
956    function Else_Statements
957       (N : Node_Id) return List_Id is
958    begin
959       pragma Assert (False
960         or else NT (N).Nkind = N_Conditional_Entry_Call
961         or else NT (N).Nkind = N_If_Statement
962         or else NT (N).Nkind = N_Selective_Accept);
963       return List4 (N);
964    end Else_Statements;
965
966    function Elsif_Parts
967       (N : Node_Id) return List_Id is
968    begin
969       pragma Assert (False
970         or else NT (N).Nkind = N_If_Statement);
971       return List3 (N);
972    end Elsif_Parts;
973
974    function Enclosing_Variant
975       (N : Node_Id) return Node_Id is
976    begin
977       pragma Assert (False
978         or else NT (N).Nkind = N_Variant);
979       return Node2 (N);
980    end Enclosing_Variant;
981
982    function End_Label
983       (N : Node_Id) return Node_Id is
984    begin
985       pragma Assert (False
986         or else NT (N).Nkind = N_Enumeration_Type_Definition
987         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
988         or else NT (N).Nkind = N_Loop_Statement
989         or else NT (N).Nkind = N_Package_Specification
990         or else NT (N).Nkind = N_Protected_Body
991         or else NT (N).Nkind = N_Protected_Definition
992         or else NT (N).Nkind = N_Record_Definition
993         or else NT (N).Nkind = N_Task_Definition);
994       return Node4 (N);
995    end End_Label;
996
997    function End_Span
998       (N : Node_Id) return Uint is
999    begin
1000       pragma Assert (False
1001         or else NT (N).Nkind = N_Case_Statement
1002         or else NT (N).Nkind = N_If_Statement);
1003       return Uint5 (N);
1004    end End_Span;
1005
1006    function Entity
1007       (N : Node_Id) return Node_Id is
1008    begin
1009       pragma Assert (False
1010         or else NT (N).Nkind in N_Has_Entity
1011         or else NT (N).Nkind = N_Freeze_Entity
1012         or else NT (N).Nkind = N_Attribute_Definition_Clause);
1013       return Node4 (N);
1014    end Entity;
1015
1016    function Entity_Or_Associated_Node
1017       (N : Node_Id) return Node_Id is
1018    begin
1019       pragma Assert (False
1020         or else NT (N).Nkind in N_Has_Entity
1021         or else NT (N).Nkind = N_Freeze_Entity);
1022       return Node4 (N);
1023    end Entity_Or_Associated_Node;
1024
1025    function Entry_Body_Formal_Part
1026       (N : Node_Id) return Node_Id is
1027    begin
1028       pragma Assert (False
1029         or else NT (N).Nkind = N_Entry_Body);
1030       return Node5 (N);
1031    end Entry_Body_Formal_Part;
1032
1033    function Entry_Call_Alternative
1034       (N : Node_Id) return Node_Id is
1035    begin
1036       pragma Assert (False
1037         or else NT (N).Nkind = N_Conditional_Entry_Call
1038         or else NT (N).Nkind = N_Timed_Entry_Call);
1039       return Node1 (N);
1040    end Entry_Call_Alternative;
1041
1042    function Entry_Call_Statement
1043       (N : Node_Id) return Node_Id is
1044    begin
1045       pragma Assert (False
1046         or else NT (N).Nkind = N_Entry_Call_Alternative);
1047       return Node1 (N);
1048    end Entry_Call_Statement;
1049
1050    function Entry_Direct_Name
1051       (N : Node_Id) return Node_Id is
1052    begin
1053       pragma Assert (False
1054         or else NT (N).Nkind = N_Accept_Statement);
1055       return Node1 (N);
1056    end Entry_Direct_Name;
1057
1058    function Entry_Index
1059       (N : Node_Id) return Node_Id is
1060    begin
1061       pragma Assert (False
1062         or else NT (N).Nkind = N_Accept_Statement);
1063       return Node5 (N);
1064    end Entry_Index;
1065
1066    function Entry_Index_Specification
1067       (N : Node_Id) return Node_Id is
1068    begin
1069       pragma Assert (False
1070         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
1071       return Node4 (N);
1072    end Entry_Index_Specification;
1073
1074    function Etype
1075       (N : Node_Id) return Node_Id is
1076    begin
1077       pragma Assert (False
1078         or else NT (N).Nkind in N_Has_Etype);
1079       return Node5 (N);
1080    end Etype;
1081
1082    function Exception_Choices
1083       (N : Node_Id) return List_Id is
1084    begin
1085       pragma Assert (False
1086         or else NT (N).Nkind = N_Exception_Handler);
1087       return List4 (N);
1088    end Exception_Choices;
1089
1090    function Exception_Handlers
1091       (N : Node_Id) return List_Id is
1092    begin
1093       pragma Assert (False
1094         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1095       return List5 (N);
1096    end Exception_Handlers;
1097
1098    function Exception_Junk
1099      (N : Node_Id) return Boolean is
1100    begin
1101       pragma Assert (False
1102         or else NT (N).Nkind = N_Block_Statement
1103         or else NT (N).Nkind = N_Goto_Statement
1104         or else NT (N).Nkind = N_Label
1105         or else NT (N).Nkind = N_Object_Declaration
1106         or else NT (N).Nkind = N_Subtype_Declaration);
1107       return Flag8 (N);
1108    end Exception_Junk;
1109
1110    function Exception_Label
1111      (N : Node_Id) return Node_Id is
1112    begin
1113       pragma Assert (False
1114         or else NT (N).Nkind = N_Exception_Handler
1115         or else NT (N).Nkind = N_Push_Constraint_Error_Label
1116         or else NT (N).Nkind = N_Push_Program_Error_Label
1117         or else NT (N).Nkind = N_Push_Storage_Error_Label);
1118       return Node5 (N);
1119    end Exception_Label;
1120
1121    function Expansion_Delayed
1122      (N : Node_Id) return Boolean is
1123    begin
1124       pragma Assert (False
1125         or else NT (N).Nkind = N_Aggregate
1126         or else NT (N).Nkind = N_Extension_Aggregate);
1127       return Flag11 (N);
1128    end Expansion_Delayed;
1129
1130    function Explicit_Actual_Parameter
1131       (N : Node_Id) return Node_Id is
1132    begin
1133       pragma Assert (False
1134         or else NT (N).Nkind = N_Parameter_Association);
1135       return Node3 (N);
1136    end Explicit_Actual_Parameter;
1137
1138    function Explicit_Generic_Actual_Parameter
1139       (N : Node_Id) return Node_Id is
1140    begin
1141       pragma Assert (False
1142         or else NT (N).Nkind = N_Generic_Association);
1143       return Node1 (N);
1144    end Explicit_Generic_Actual_Parameter;
1145
1146    function Expression
1147       (N : Node_Id) return Node_Id is
1148    begin
1149       pragma Assert (False
1150         or else NT (N).Nkind = N_Allocator
1151         or else NT (N).Nkind = N_Assignment_Statement
1152         or else NT (N).Nkind = N_At_Clause
1153         or else NT (N).Nkind = N_Attribute_Definition_Clause
1154         or else NT (N).Nkind = N_Case_Statement
1155         or else NT (N).Nkind = N_Code_Statement
1156         or else NT (N).Nkind = N_Component_Association
1157         or else NT (N).Nkind = N_Component_Declaration
1158         or else NT (N).Nkind = N_Delay_Relative_Statement
1159         or else NT (N).Nkind = N_Delay_Until_Statement
1160         or else NT (N).Nkind = N_Discriminant_Association
1161         or else NT (N).Nkind = N_Discriminant_Specification
1162         or else NT (N).Nkind = N_Exception_Declaration
1163         or else NT (N).Nkind = N_Free_Statement
1164         or else NT (N).Nkind = N_Mod_Clause
1165         or else NT (N).Nkind = N_Modular_Type_Definition
1166         or else NT (N).Nkind = N_Number_Declaration
1167         or else NT (N).Nkind = N_Object_Declaration
1168         or else NT (N).Nkind = N_Parameter_Specification
1169         or else NT (N).Nkind = N_Pragma_Argument_Association
1170         or else NT (N).Nkind = N_Qualified_Expression
1171         or else NT (N).Nkind = N_Raise_Statement
1172         or else NT (N).Nkind = N_Return_Statement
1173         or else NT (N).Nkind = N_Type_Conversion
1174         or else NT (N).Nkind = N_Unchecked_Expression
1175         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1176       return Node3 (N);
1177    end Expression;
1178
1179    function Expressions
1180       (N : Node_Id) return List_Id is
1181    begin
1182       pragma Assert (False
1183         or else NT (N).Nkind = N_Aggregate
1184         or else NT (N).Nkind = N_Attribute_Reference
1185         or else NT (N).Nkind = N_Conditional_Expression
1186         or else NT (N).Nkind = N_Extension_Aggregate
1187         or else NT (N).Nkind = N_Indexed_Component);
1188       return List1 (N);
1189    end Expressions;
1190
1191    function First_Bit
1192       (N : Node_Id) return Node_Id is
1193    begin
1194       pragma Assert (False
1195         or else NT (N).Nkind = N_Component_Clause);
1196       return Node3 (N);
1197    end First_Bit;
1198
1199    function First_Inlined_Subprogram
1200       (N : Node_Id) return Entity_Id is
1201    begin
1202       pragma Assert (False
1203         or else NT (N).Nkind = N_Compilation_Unit);
1204       return Node3 (N);
1205    end First_Inlined_Subprogram;
1206
1207    function First_Name
1208       (N : Node_Id) return Boolean is
1209    begin
1210       pragma Assert (False
1211         or else NT (N).Nkind = N_With_Clause);
1212       return Flag5 (N);
1213    end First_Name;
1214
1215    function First_Named_Actual
1216       (N : Node_Id) return Node_Id is
1217    begin
1218       pragma Assert (False
1219         or else NT (N).Nkind = N_Entry_Call_Statement
1220         or else NT (N).Nkind = N_Function_Call
1221         or else NT (N).Nkind = N_Procedure_Call_Statement);
1222       return Node4 (N);
1223    end First_Named_Actual;
1224
1225    function First_Real_Statement
1226       (N : Node_Id) return Node_Id is
1227    begin
1228       pragma Assert (False
1229         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1230       return Node2 (N);
1231    end First_Real_Statement;
1232
1233    function First_Subtype_Link
1234       (N : Node_Id) return Entity_Id is
1235    begin
1236       pragma Assert (False
1237         or else NT (N).Nkind = N_Freeze_Entity);
1238       return Node5 (N);
1239    end First_Subtype_Link;
1240
1241    function Float_Truncate
1242       (N : Node_Id) return Boolean is
1243    begin
1244       pragma Assert (False
1245         or else NT (N).Nkind = N_Type_Conversion);
1246       return Flag11 (N);
1247    end Float_Truncate;
1248
1249    function Formal_Type_Definition
1250       (N : Node_Id) return Node_Id is
1251    begin
1252       pragma Assert (False
1253         or else NT (N).Nkind = N_Formal_Type_Declaration);
1254       return Node3 (N);
1255    end Formal_Type_Definition;
1256
1257    function Forwards_OK
1258       (N : Node_Id) return Boolean is
1259    begin
1260       pragma Assert (False
1261         or else NT (N).Nkind = N_Assignment_Statement);
1262       return Flag5 (N);
1263    end Forwards_OK;
1264
1265    function From_At_End
1266       (N : Node_Id) return Boolean is
1267    begin
1268       pragma Assert (False
1269         or else NT (N).Nkind = N_Raise_Statement);
1270       return Flag4 (N);
1271    end From_At_End;
1272
1273    function From_At_Mod
1274       (N : Node_Id) return Boolean is
1275    begin
1276       pragma Assert (False
1277         or else NT (N).Nkind = N_Attribute_Definition_Clause);
1278       return Flag4 (N);
1279    end From_At_Mod;
1280
1281    function From_Default
1282       (N : Node_Id) return Boolean is
1283    begin
1284       pragma Assert (False
1285         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1286       return Flag6 (N);
1287    end From_Default;
1288
1289    function Generic_Associations
1290       (N : Node_Id) return List_Id is
1291    begin
1292       pragma Assert (False
1293         or else NT (N).Nkind = N_Formal_Package_Declaration
1294         or else NT (N).Nkind = N_Function_Instantiation
1295         or else NT (N).Nkind = N_Package_Instantiation
1296         or else NT (N).Nkind = N_Procedure_Instantiation);
1297       return List3 (N);
1298    end Generic_Associations;
1299
1300    function Generic_Formal_Declarations
1301       (N : Node_Id) return List_Id is
1302    begin
1303       pragma Assert (False
1304         or else NT (N).Nkind = N_Generic_Package_Declaration
1305         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
1306       return List2 (N);
1307    end Generic_Formal_Declarations;
1308
1309    function Generic_Parent
1310       (N : Node_Id) return Node_Id is
1311    begin
1312       pragma Assert (False
1313         or else NT (N).Nkind = N_Function_Specification
1314         or else NT (N).Nkind = N_Package_Specification
1315         or else NT (N).Nkind = N_Procedure_Specification);
1316       return Node5 (N);
1317    end Generic_Parent;
1318
1319    function Generic_Parent_Type
1320       (N : Node_Id) return Node_Id is
1321    begin
1322       pragma Assert (False
1323         or else NT (N).Nkind = N_Subtype_Declaration);
1324       return Node4 (N);
1325    end Generic_Parent_Type;
1326
1327    function Handled_Statement_Sequence
1328       (N : Node_Id) return Node_Id is
1329    begin
1330       pragma Assert (False
1331         or else NT (N).Nkind = N_Accept_Statement
1332         or else NT (N).Nkind = N_Block_Statement
1333         or else NT (N).Nkind = N_Entry_Body
1334         or else NT (N).Nkind = N_Extended_Return_Statement
1335         or else NT (N).Nkind = N_Package_Body
1336         or else NT (N).Nkind = N_Subprogram_Body
1337         or else NT (N).Nkind = N_Task_Body);
1338       return Node4 (N);
1339    end Handled_Statement_Sequence;
1340
1341    function Handler_List_Entry
1342       (N : Node_Id) return Node_Id is
1343    begin
1344       pragma Assert (False
1345         or else NT (N).Nkind = N_Object_Declaration);
1346       return Node2 (N);
1347    end Handler_List_Entry;
1348
1349    function Has_Created_Identifier
1350       (N : Node_Id) return Boolean is
1351    begin
1352       pragma Assert (False
1353         or else NT (N).Nkind = N_Block_Statement
1354         or else NT (N).Nkind = N_Loop_Statement);
1355       return Flag15 (N);
1356    end Has_Created_Identifier;
1357
1358    function Has_Dynamic_Length_Check
1359       (N : Node_Id) return Boolean is
1360    begin
1361       return Flag10 (N);
1362    end Has_Dynamic_Length_Check;
1363
1364    function Has_Dynamic_Range_Check
1365       (N : Node_Id) return Boolean is
1366    begin
1367       return Flag12 (N);
1368    end Has_Dynamic_Range_Check;
1369
1370    function Has_Init_Expression
1371       (N : Node_Id) return Boolean is
1372    begin
1373       pragma Assert (False
1374         or else NT (N).Nkind = N_Object_Declaration);
1375       return Flag14 (N);
1376    end Has_Init_Expression;
1377
1378    function Has_Local_Raise
1379       (N : Node_Id) return Boolean is
1380    begin
1381       pragma Assert (False
1382         or else NT (N).Nkind = N_Exception_Handler);
1383       return Flag8 (N);
1384    end Has_Local_Raise;
1385
1386    function Has_No_Elaboration_Code
1387       (N : Node_Id) return Boolean is
1388    begin
1389       pragma Assert (False
1390         or else NT (N).Nkind = N_Compilation_Unit);
1391       return Flag17 (N);
1392    end Has_No_Elaboration_Code;
1393
1394    function Has_Priority_Pragma
1395       (N : Node_Id) return Boolean is
1396    begin
1397       pragma Assert (False
1398         or else NT (N).Nkind = N_Protected_Definition
1399         or else NT (N).Nkind = N_Subprogram_Body
1400         or else NT (N).Nkind = N_Task_Definition);
1401       return Flag6 (N);
1402    end Has_Priority_Pragma;
1403
1404    function Has_Private_View
1405       (N : Node_Id) return Boolean is
1406    begin
1407       pragma Assert (False
1408        or else NT (N).Nkind in N_Op
1409        or else NT (N).Nkind = N_Character_Literal
1410        or else NT (N).Nkind = N_Expanded_Name
1411        or else NT (N).Nkind = N_Identifier
1412        or else NT (N).Nkind = N_Operator_Symbol);
1413       return Flag11 (N);
1414    end Has_Private_View;
1415
1416    function Has_Relative_Deadline_Pragma
1417       (N : Node_Id) return Boolean is
1418    begin
1419       pragma Assert (False
1420         or else NT (N).Nkind = N_Subprogram_Body
1421         or else NT (N).Nkind = N_Task_Definition);
1422       return Flag9 (N);
1423    end Has_Relative_Deadline_Pragma;
1424
1425    function Has_Self_Reference
1426       (N : Node_Id) return Boolean is
1427    begin
1428       pragma Assert (False
1429         or else NT (N).Nkind = N_Aggregate
1430         or else NT (N).Nkind = N_Extension_Aggregate);
1431       return Flag13 (N);
1432    end Has_Self_Reference;
1433
1434    function Has_Storage_Size_Pragma
1435       (N : Node_Id) return Boolean is
1436    begin
1437       pragma Assert (False
1438         or else NT (N).Nkind = N_Task_Definition);
1439       return Flag5 (N);
1440    end Has_Storage_Size_Pragma;
1441
1442    function Has_Task_Info_Pragma
1443       (N : Node_Id) return Boolean is
1444    begin
1445       pragma Assert (False
1446         or else NT (N).Nkind = N_Task_Definition);
1447       return Flag7 (N);
1448    end Has_Task_Info_Pragma;
1449
1450    function Has_Task_Name_Pragma
1451       (N : Node_Id) return Boolean is
1452    begin
1453       pragma Assert (False
1454         or else NT (N).Nkind = N_Task_Definition);
1455       return Flag8 (N);
1456    end Has_Task_Name_Pragma;
1457
1458    function Has_Wide_Character
1459       (N : Node_Id) return Boolean is
1460    begin
1461       pragma Assert (False
1462         or else NT (N).Nkind = N_String_Literal);
1463       return Flag11 (N);
1464    end Has_Wide_Character;
1465
1466    function Hidden_By_Use_Clause
1467      (N : Node_Id) return Elist_Id is
1468    begin
1469       pragma Assert (False
1470         or else NT (N).Nkind = N_Use_Package_Clause
1471         or else NT (N).Nkind = N_Use_Type_Clause);
1472       return Elist4 (N);
1473    end Hidden_By_Use_Clause;
1474
1475    function High_Bound
1476       (N : Node_Id) return Node_Id is
1477    begin
1478       pragma Assert (False
1479         or else NT (N).Nkind = N_Range
1480         or else NT (N).Nkind = N_Real_Range_Specification
1481         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1482       return Node2 (N);
1483    end High_Bound;
1484
1485    function Identifier
1486       (N : Node_Id) return Node_Id is
1487    begin
1488       pragma Assert (False
1489         or else NT (N).Nkind = N_At_Clause
1490         or else NT (N).Nkind = N_Block_Statement
1491         or else NT (N).Nkind = N_Designator
1492         or else NT (N).Nkind = N_Enumeration_Representation_Clause
1493         or else NT (N).Nkind = N_Label
1494         or else NT (N).Nkind = N_Loop_Statement
1495         or else NT (N).Nkind = N_Record_Representation_Clause
1496         or else NT (N).Nkind = N_Subprogram_Info);
1497       return Node1 (N);
1498    end Identifier;
1499
1500    function Implicit_With
1501       (N : Node_Id) return Boolean is
1502    begin
1503       pragma Assert (False
1504         or else NT (N).Nkind = N_With_Clause);
1505       return Flag16 (N);
1506    end Implicit_With;
1507
1508    function Interface_List
1509       (N : Node_Id) return List_Id is
1510    begin
1511       pragma Assert (False
1512         or else NT (N).Nkind = N_Derived_Type_Definition
1513         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1514         or else NT (N).Nkind = N_Private_Extension_Declaration
1515         or else NT (N).Nkind = N_Protected_Type_Declaration
1516         or else NT (N).Nkind = N_Record_Definition
1517         or else NT (N).Nkind = N_Single_Protected_Declaration
1518         or else NT (N).Nkind = N_Single_Task_Declaration
1519         or else NT (N).Nkind = N_Task_Type_Declaration);
1520       return List2 (N);
1521    end Interface_List;
1522
1523    function Interface_Present
1524       (N : Node_Id) return Boolean is
1525    begin
1526       pragma Assert (False
1527         or else NT (N).Nkind = N_Derived_Type_Definition
1528         or else NT (N).Nkind = N_Record_Definition);
1529       return Flag16 (N);
1530    end Interface_Present;
1531
1532    function In_Present
1533       (N : Node_Id) return Boolean is
1534    begin
1535       pragma Assert (False
1536         or else NT (N).Nkind = N_Formal_Object_Declaration
1537         or else NT (N).Nkind = N_Parameter_Specification);
1538       return Flag15 (N);
1539    end In_Present;
1540
1541    function Includes_Infinities
1542       (N : Node_Id) return Boolean is
1543    begin
1544       pragma Assert (False
1545         or else NT (N).Nkind = N_Range);
1546       return Flag11 (N);
1547    end Includes_Infinities;
1548
1549    function Instance_Spec
1550       (N : Node_Id) return Node_Id is
1551    begin
1552       pragma Assert (False
1553         or else NT (N).Nkind = N_Formal_Package_Declaration
1554         or else NT (N).Nkind = N_Function_Instantiation
1555         or else NT (N).Nkind = N_Package_Instantiation
1556         or else NT (N).Nkind = N_Procedure_Instantiation);
1557       return Node5 (N);
1558    end Instance_Spec;
1559
1560    function Intval
1561       (N : Node_Id) return Uint is
1562    begin
1563       pragma Assert (False
1564         or else NT (N).Nkind = N_Integer_Literal);
1565       return Uint3 (N);
1566    end Intval;
1567
1568    function Is_Asynchronous_Call_Block
1569       (N : Node_Id) return Boolean is
1570    begin
1571       pragma Assert (False
1572         or else NT (N).Nkind = N_Block_Statement);
1573       return Flag7 (N);
1574    end Is_Asynchronous_Call_Block;
1575
1576    function Is_Component_Left_Opnd
1577       (N : Node_Id) return Boolean is
1578    begin
1579       pragma Assert (False
1580         or else NT (N).Nkind = N_Op_Concat);
1581       return Flag13 (N);
1582    end Is_Component_Left_Opnd;
1583
1584    function Is_Component_Right_Opnd
1585       (N : Node_Id) return Boolean is
1586    begin
1587       pragma Assert (False
1588         or else NT (N).Nkind = N_Op_Concat);
1589       return Flag14 (N);
1590    end Is_Component_Right_Opnd;
1591
1592    function Is_Controlling_Actual
1593       (N : Node_Id) return Boolean is
1594    begin
1595       pragma Assert (False
1596         or else NT (N).Nkind in N_Subexpr);
1597       return Flag16 (N);
1598    end Is_Controlling_Actual;
1599
1600    function Is_Dynamic_Coextension
1601       (N : Node_Id) return Boolean is
1602    begin
1603       pragma Assert (False
1604         or else NT (N).Nkind = N_Allocator);
1605       return Flag18 (N);
1606    end Is_Dynamic_Coextension;
1607
1608    function Is_Entry_Barrier_Function
1609       (N : Node_Id) return Boolean is
1610    begin
1611       pragma Assert (False
1612         or else NT (N).Nkind = N_Subprogram_Body);
1613       return Flag8 (N);
1614    end Is_Entry_Barrier_Function;
1615
1616    function Is_Expanded_Build_In_Place_Call
1617       (N : Node_Id) return Boolean is
1618    begin
1619       pragma Assert (False
1620         or else NT (N).Nkind = N_Function_Call);
1621       return Flag11 (N);
1622    end Is_Expanded_Build_In_Place_Call;
1623
1624    function Is_Folded_In_Parser
1625       (N : Node_Id) return Boolean is
1626    begin
1627       pragma Assert (False
1628         or else NT (N).Nkind = N_String_Literal);
1629       return Flag4 (N);
1630    end Is_Folded_In_Parser;
1631
1632    function Is_In_Discriminant_Check
1633       (N : Node_Id) return Boolean is
1634    begin
1635       pragma Assert (False
1636         or else NT (N).Nkind = N_Selected_Component);
1637       return Flag11 (N);
1638    end Is_In_Discriminant_Check;
1639
1640    function Is_Machine_Number
1641       (N : Node_Id) return Boolean is
1642    begin
1643       pragma Assert (False
1644         or else NT (N).Nkind = N_Real_Literal);
1645       return Flag11 (N);
1646    end Is_Machine_Number;
1647
1648    function Is_Null_Loop
1649       (N : Node_Id) return Boolean is
1650    begin
1651       pragma Assert (False
1652         or else NT (N).Nkind = N_Loop_Statement);
1653       return Flag16 (N);
1654    end Is_Null_Loop;
1655
1656    function Is_Overloaded
1657       (N : Node_Id) return Boolean is
1658    begin
1659       pragma Assert (False
1660         or else NT (N).Nkind in N_Subexpr);
1661       return Flag5 (N);
1662    end Is_Overloaded;
1663
1664    function Is_Power_Of_2_For_Shift
1665       (N : Node_Id) return Boolean is
1666    begin
1667       pragma Assert (False
1668         or else NT (N).Nkind = N_Op_Expon);
1669       return Flag13 (N);
1670    end Is_Power_Of_2_For_Shift;
1671
1672    function Is_Protected_Subprogram_Body
1673       (N : Node_Id) return Boolean is
1674    begin
1675       pragma Assert (False
1676         or else NT (N).Nkind = N_Subprogram_Body);
1677       return Flag7 (N);
1678    end Is_Protected_Subprogram_Body;
1679
1680    function Is_Static_Coextension
1681       (N : Node_Id) return Boolean is
1682    begin
1683       pragma Assert (False
1684         or else NT (N).Nkind = N_Allocator);
1685       return Flag14 (N);
1686    end Is_Static_Coextension;
1687
1688    function Is_Static_Expression
1689       (N : Node_Id) return Boolean is
1690    begin
1691       pragma Assert (False
1692         or else NT (N).Nkind in N_Subexpr);
1693       return Flag6 (N);
1694    end Is_Static_Expression;
1695
1696    function Is_Subprogram_Descriptor
1697       (N : Node_Id) return Boolean is
1698    begin
1699       pragma Assert (False
1700         or else NT (N).Nkind = N_Object_Declaration);
1701       return Flag16 (N);
1702    end Is_Subprogram_Descriptor;
1703
1704    function Is_Task_Allocation_Block
1705       (N : Node_Id) return Boolean is
1706    begin
1707       pragma Assert (False
1708         or else NT (N).Nkind = N_Block_Statement);
1709       return Flag6 (N);
1710    end Is_Task_Allocation_Block;
1711
1712    function Is_Task_Master
1713       (N : Node_Id) return Boolean is
1714    begin
1715       pragma Assert (False
1716         or else NT (N).Nkind = N_Block_Statement
1717         or else NT (N).Nkind = N_Subprogram_Body
1718         or else NT (N).Nkind = N_Task_Body);
1719       return Flag5 (N);
1720    end Is_Task_Master;
1721
1722    function Iteration_Scheme
1723       (N : Node_Id) return Node_Id is
1724    begin
1725       pragma Assert (False
1726         or else NT (N).Nkind = N_Loop_Statement);
1727       return Node2 (N);
1728    end Iteration_Scheme;
1729
1730    function Itype
1731       (N : Node_Id) return Node_Id is
1732    begin
1733       pragma Assert (False
1734       or else NT (N).Nkind = N_Itype_Reference);
1735       return Node1 (N);
1736    end Itype;
1737
1738    function Kill_Range_Check
1739       (N : Node_Id) return Boolean is
1740    begin
1741       pragma Assert (False
1742         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1743       return Flag11 (N);
1744    end Kill_Range_Check;
1745
1746    function Label_Construct
1747       (N : Node_Id) return Node_Id is
1748    begin
1749       pragma Assert (False
1750         or else NT (N).Nkind = N_Implicit_Label_Declaration);
1751       return Node2 (N);
1752    end Label_Construct;
1753
1754    function Last_Bit
1755       (N : Node_Id) return Node_Id is
1756    begin
1757       pragma Assert (False
1758         or else NT (N).Nkind = N_Component_Clause);
1759       return Node4 (N);
1760    end Last_Bit;
1761
1762    function Last_Name
1763       (N : Node_Id) return Boolean is
1764    begin
1765       pragma Assert (False
1766         or else NT (N).Nkind = N_With_Clause);
1767       return Flag6 (N);
1768    end Last_Name;
1769
1770    function Left_Opnd
1771       (N : Node_Id) return Node_Id is
1772    begin
1773       pragma Assert (False
1774         or else NT (N).Nkind = N_And_Then
1775         or else NT (N).Nkind = N_In
1776         or else NT (N).Nkind = N_Not_In
1777         or else NT (N).Nkind = N_Or_Else
1778         or else NT (N).Nkind in N_Binary_Op);
1779       return Node2 (N);
1780    end Left_Opnd;
1781
1782    function Library_Unit
1783       (N : Node_Id) return Node_Id is
1784    begin
1785       pragma Assert (False
1786         or else NT (N).Nkind = N_Compilation_Unit
1787         or else NT (N).Nkind = N_Package_Body_Stub
1788         or else NT (N).Nkind = N_Protected_Body_Stub
1789         or else NT (N).Nkind = N_Subprogram_Body_Stub
1790         or else NT (N).Nkind = N_Task_Body_Stub
1791         or else NT (N).Nkind = N_With_Clause);
1792       return Node4 (N);
1793    end Library_Unit;
1794
1795    function Limited_View_Installed
1796       (N : Node_Id) return Boolean is
1797    begin
1798       pragma Assert (False
1799         or else NT (N).Nkind = N_Package_Specification
1800         or else NT (N).Nkind = N_With_Clause);
1801       return Flag18 (N);
1802    end Limited_View_Installed;
1803
1804    function Limited_Present
1805       (N : Node_Id) return Boolean is
1806    begin
1807       pragma Assert (False
1808         or else NT (N).Nkind = N_Derived_Type_Definition
1809         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1810         or else NT (N).Nkind = N_Formal_Private_Type_Definition
1811         or else NT (N).Nkind = N_Private_Extension_Declaration
1812         or else NT (N).Nkind = N_Private_Type_Declaration
1813         or else NT (N).Nkind = N_Record_Definition
1814         or else NT (N).Nkind = N_With_Clause);
1815       return Flag17 (N);
1816    end Limited_Present;
1817
1818    function Literals
1819       (N : Node_Id) return List_Id is
1820    begin
1821       pragma Assert (False
1822         or else NT (N).Nkind = N_Enumeration_Type_Definition);
1823       return List1 (N);
1824    end Literals;
1825
1826    function Local_Raise_Not_OK
1827       (N : Node_Id) return Boolean is
1828    begin
1829       pragma Assert (False
1830         or else NT (N).Nkind = N_Exception_Handler);
1831       return Flag7 (N);
1832    end Local_Raise_Not_OK;
1833
1834    function Local_Raise_Statements
1835       (N : Node_Id) return Elist_Id is
1836    begin
1837       pragma Assert (False
1838         or else NT (N).Nkind = N_Exception_Handler);
1839       return Elist1 (N);
1840    end Local_Raise_Statements;
1841
1842    function Loop_Actions
1843       (N : Node_Id) return List_Id is
1844    begin
1845       pragma Assert (False
1846         or else NT (N).Nkind = N_Component_Association);
1847       return List2 (N);
1848    end Loop_Actions;
1849
1850    function Loop_Parameter_Specification
1851       (N : Node_Id) return Node_Id is
1852    begin
1853       pragma Assert (False
1854         or else NT (N).Nkind = N_Iteration_Scheme);
1855       return Node4 (N);
1856    end Loop_Parameter_Specification;
1857
1858    function Low_Bound
1859       (N : Node_Id) return Node_Id is
1860    begin
1861       pragma Assert (False
1862         or else NT (N).Nkind = N_Range
1863         or else NT (N).Nkind = N_Real_Range_Specification
1864         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1865       return Node1 (N);
1866    end Low_Bound;
1867
1868    function Mod_Clause
1869       (N : Node_Id) return Node_Id is
1870    begin
1871       pragma Assert (False
1872         or else NT (N).Nkind = N_Record_Representation_Clause);
1873       return Node2 (N);
1874    end Mod_Clause;
1875
1876    function More_Ids
1877       (N : Node_Id) return Boolean is
1878    begin
1879       pragma Assert (False
1880         or else NT (N).Nkind = N_Component_Declaration
1881         or else NT (N).Nkind = N_Discriminant_Specification
1882         or else NT (N).Nkind = N_Exception_Declaration
1883         or else NT (N).Nkind = N_Formal_Object_Declaration
1884         or else NT (N).Nkind = N_Number_Declaration
1885         or else NT (N).Nkind = N_Object_Declaration
1886         or else NT (N).Nkind = N_Parameter_Specification);
1887       return Flag5 (N);
1888    end More_Ids;
1889
1890    function Must_Be_Byte_Aligned
1891       (N : Node_Id) return Boolean is
1892    begin
1893       pragma Assert (False
1894         or else NT (N).Nkind = N_Attribute_Reference);
1895       return Flag14 (N);
1896    end Must_Be_Byte_Aligned;
1897
1898    function Must_Not_Freeze
1899       (N : Node_Id) return Boolean is
1900    begin
1901       pragma Assert (False
1902         or else NT (N).Nkind = N_Subtype_Indication
1903         or else NT (N).Nkind in N_Subexpr);
1904       return Flag8 (N);
1905    end Must_Not_Freeze;
1906
1907    function Must_Not_Override
1908       (N : Node_Id) return Boolean is
1909    begin
1910       pragma Assert (False
1911         or else NT (N).Nkind = N_Entry_Declaration
1912         or else NT (N).Nkind = N_Function_Instantiation
1913         or else NT (N).Nkind = N_Function_Specification
1914         or else NT (N).Nkind = N_Procedure_Instantiation
1915         or else NT (N).Nkind = N_Procedure_Specification);
1916       return Flag15 (N);
1917    end Must_Not_Override;
1918
1919    function Must_Override
1920       (N : Node_Id) return Boolean is
1921    begin
1922       pragma Assert (False
1923         or else NT (N).Nkind = N_Entry_Declaration
1924         or else NT (N).Nkind = N_Function_Instantiation
1925         or else NT (N).Nkind = N_Function_Specification
1926         or else NT (N).Nkind = N_Procedure_Instantiation
1927         or else NT (N).Nkind = N_Procedure_Specification);
1928       return Flag14 (N);
1929    end Must_Override;
1930
1931    function Name
1932       (N : Node_Id) return Node_Id is
1933    begin
1934       pragma Assert (False
1935         or else NT (N).Nkind = N_Assignment_Statement
1936         or else NT (N).Nkind = N_Attribute_Definition_Clause
1937         or else NT (N).Nkind = N_Defining_Program_Unit_Name
1938         or else NT (N).Nkind = N_Designator
1939         or else NT (N).Nkind = N_Entry_Call_Statement
1940         or else NT (N).Nkind = N_Exception_Renaming_Declaration
1941         or else NT (N).Nkind = N_Exit_Statement
1942         or else NT (N).Nkind = N_Formal_Package_Declaration
1943         or else NT (N).Nkind = N_Function_Call
1944         or else NT (N).Nkind = N_Function_Instantiation
1945         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1946         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1947         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1948         or else NT (N).Nkind = N_Goto_Statement
1949         or else NT (N).Nkind = N_Object_Renaming_Declaration
1950         or else NT (N).Nkind = N_Package_Instantiation
1951         or else NT (N).Nkind = N_Package_Renaming_Declaration
1952         or else NT (N).Nkind = N_Procedure_Call_Statement
1953         or else NT (N).Nkind = N_Procedure_Instantiation
1954         or else NT (N).Nkind = N_Raise_Statement
1955         or else NT (N).Nkind = N_Requeue_Statement
1956         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
1957         or else NT (N).Nkind = N_Subunit
1958         or else NT (N).Nkind = N_Variant_Part
1959         or else NT (N).Nkind = N_With_Clause);
1960       return Node2 (N);
1961    end Name;
1962
1963    function Names
1964       (N : Node_Id) return List_Id is
1965    begin
1966       pragma Assert (False
1967         or else NT (N).Nkind = N_Abort_Statement
1968         or else NT (N).Nkind = N_Use_Package_Clause);
1969       return List2 (N);
1970    end Names;
1971
1972    function Next_Entity
1973       (N : Node_Id) return Node_Id is
1974    begin
1975       pragma Assert (False
1976         or else NT (N).Nkind = N_Defining_Character_Literal
1977         or else NT (N).Nkind = N_Defining_Identifier
1978         or else NT (N).Nkind = N_Defining_Operator_Symbol);
1979       return Node2 (N);
1980    end Next_Entity;
1981
1982    function Next_Named_Actual
1983       (N : Node_Id) return Node_Id is
1984    begin
1985       pragma Assert (False
1986         or else NT (N).Nkind = N_Parameter_Association);
1987       return Node4 (N);
1988    end Next_Named_Actual;
1989
1990    function Next_Pragma
1991       (N : Node_Id) return Node_Id is
1992    begin
1993       pragma Assert (False
1994         or else NT (N).Nkind = N_Pragma);
1995       return Node1 (N);
1996    end Next_Pragma;
1997
1998    function Next_Rep_Item
1999       (N : Node_Id) return Node_Id is
2000    begin
2001       pragma Assert (False
2002         or else NT (N).Nkind = N_Attribute_Definition_Clause
2003         or else NT (N).Nkind = N_Enumeration_Representation_Clause
2004         or else NT (N).Nkind = N_Pragma
2005         or else NT (N).Nkind = N_Record_Representation_Clause);
2006       return Node5 (N);
2007    end Next_Rep_Item;
2008
2009    function Next_Use_Clause
2010       (N : Node_Id) return Node_Id is
2011    begin
2012       pragma Assert (False
2013         or else NT (N).Nkind = N_Use_Package_Clause
2014         or else NT (N).Nkind = N_Use_Type_Clause);
2015       return Node3 (N);
2016    end Next_Use_Clause;
2017
2018    function No_Ctrl_Actions
2019       (N : Node_Id) return Boolean is
2020    begin
2021       pragma Assert (False
2022         or else NT (N).Nkind = N_Assignment_Statement);
2023       return Flag7 (N);
2024    end No_Ctrl_Actions;
2025
2026    function No_Elaboration_Check
2027       (N : Node_Id) return Boolean is
2028    begin
2029       pragma Assert (False
2030         or else NT (N).Nkind = N_Function_Call
2031         or else NT (N).Nkind = N_Procedure_Call_Statement);
2032       return Flag14 (N);
2033    end No_Elaboration_Check;
2034
2035    function No_Entities_Ref_In_Spec
2036       (N : Node_Id) return Boolean is
2037    begin
2038       pragma Assert (False
2039         or else NT (N).Nkind = N_With_Clause);
2040       return Flag8 (N);
2041    end No_Entities_Ref_In_Spec;
2042
2043    function No_Initialization
2044       (N : Node_Id) return Boolean is
2045    begin
2046       pragma Assert (False
2047         or else NT (N).Nkind = N_Allocator
2048         or else NT (N).Nkind = N_Object_Declaration);
2049       return Flag13 (N);
2050    end No_Initialization;
2051
2052    function No_Truncation
2053       (N : Node_Id) return Boolean is
2054    begin
2055       pragma Assert (False
2056         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2057       return Flag17 (N);
2058    end No_Truncation;
2059
2060    function Null_Present
2061       (N : Node_Id) return Boolean is
2062    begin
2063       pragma Assert (False
2064         or else NT (N).Nkind = N_Component_List
2065         or else NT (N).Nkind = N_Procedure_Specification
2066         or else NT (N).Nkind = N_Record_Definition);
2067       return Flag13 (N);
2068    end Null_Present;
2069
2070    function Null_Exclusion_Present
2071       (N : Node_Id) return Boolean is
2072    begin
2073       pragma Assert (False
2074         or else NT (N).Nkind = N_Access_Definition
2075         or else NT (N).Nkind = N_Access_Function_Definition
2076         or else NT (N).Nkind = N_Access_Procedure_Definition
2077         or else NT (N).Nkind = N_Access_To_Object_Definition
2078         or else NT (N).Nkind = N_Allocator
2079         or else NT (N).Nkind = N_Component_Definition
2080         or else NT (N).Nkind = N_Derived_Type_Definition
2081         or else NT (N).Nkind = N_Discriminant_Specification
2082         or else NT (N).Nkind = N_Formal_Object_Declaration
2083         or else NT (N).Nkind = N_Function_Specification
2084         or else NT (N).Nkind = N_Object_Declaration
2085         or else NT (N).Nkind = N_Object_Renaming_Declaration
2086         or else NT (N).Nkind = N_Parameter_Specification
2087         or else NT (N).Nkind = N_Subtype_Declaration);
2088       return Flag11 (N);
2089    end Null_Exclusion_Present;
2090
2091    function Null_Record_Present
2092       (N : Node_Id) return Boolean is
2093    begin
2094       pragma Assert (False
2095         or else NT (N).Nkind = N_Aggregate
2096         or else NT (N).Nkind = N_Extension_Aggregate);
2097       return Flag17 (N);
2098    end Null_Record_Present;
2099
2100    function Object_Definition
2101       (N : Node_Id) return Node_Id is
2102    begin
2103       pragma Assert (False
2104         or else NT (N).Nkind = N_Object_Declaration);
2105       return Node4 (N);
2106    end Object_Definition;
2107
2108    function Original_Discriminant
2109       (N : Node_Id) return Node_Id is
2110    begin
2111       pragma Assert (False
2112         or else NT (N).Nkind = N_Identifier);
2113       return Node2 (N);
2114    end Original_Discriminant;
2115
2116    function Original_Entity
2117       (N : Node_Id) return Entity_Id is
2118    begin
2119       pragma Assert (False
2120         or else NT (N).Nkind = N_Integer_Literal
2121         or else NT (N).Nkind = N_Real_Literal);
2122       return Node2 (N);
2123    end Original_Entity;
2124
2125    function Others_Discrete_Choices
2126       (N : Node_Id) return List_Id is
2127    begin
2128       pragma Assert (False
2129         or else NT (N).Nkind = N_Others_Choice);
2130       return List1 (N);
2131    end Others_Discrete_Choices;
2132
2133    function Out_Present
2134       (N : Node_Id) return Boolean is
2135    begin
2136       pragma Assert (False
2137         or else NT (N).Nkind = N_Formal_Object_Declaration
2138         or else NT (N).Nkind = N_Parameter_Specification);
2139       return Flag17 (N);
2140    end Out_Present;
2141
2142    function Parameter_Associations
2143       (N : Node_Id) return List_Id is
2144    begin
2145       pragma Assert (False
2146         or else NT (N).Nkind = N_Entry_Call_Statement
2147         or else NT (N).Nkind = N_Function_Call
2148         or else NT (N).Nkind = N_Procedure_Call_Statement);
2149       return List3 (N);
2150    end Parameter_Associations;
2151
2152    function Parameter_List_Truncated
2153       (N : Node_Id) return Boolean is
2154    begin
2155       pragma Assert (False
2156         or else NT (N).Nkind = N_Function_Call
2157         or else NT (N).Nkind = N_Procedure_Call_Statement);
2158       return Flag17 (N);
2159    end Parameter_List_Truncated;
2160
2161    function Parameter_Specifications
2162       (N : Node_Id) return List_Id is
2163    begin
2164       pragma Assert (False
2165         or else NT (N).Nkind = N_Accept_Statement
2166         or else NT (N).Nkind = N_Access_Function_Definition
2167         or else NT (N).Nkind = N_Access_Procedure_Definition
2168         or else NT (N).Nkind = N_Entry_Body_Formal_Part
2169         or else NT (N).Nkind = N_Entry_Declaration
2170         or else NT (N).Nkind = N_Function_Specification
2171         or else NT (N).Nkind = N_Procedure_Specification);
2172       return List3 (N);
2173    end Parameter_Specifications;
2174
2175    function Parameter_Type
2176       (N : Node_Id) return Node_Id is
2177    begin
2178       pragma Assert (False
2179         or else NT (N).Nkind = N_Parameter_Specification);
2180       return Node2 (N);
2181    end Parameter_Type;
2182
2183    function Parent_Spec
2184       (N : Node_Id) return Node_Id is
2185    begin
2186       pragma Assert (False
2187         or else NT (N).Nkind = N_Function_Instantiation
2188         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
2189         or else NT (N).Nkind = N_Generic_Package_Declaration
2190         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
2191         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
2192         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2193         or else NT (N).Nkind = N_Package_Declaration
2194         or else NT (N).Nkind = N_Package_Instantiation
2195         or else NT (N).Nkind = N_Package_Renaming_Declaration
2196         or else NT (N).Nkind = N_Procedure_Instantiation
2197         or else NT (N).Nkind = N_Subprogram_Declaration
2198         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2199       return Node4 (N);
2200    end Parent_Spec;
2201
2202    function PPC_Enabled
2203      (N : Node_Id) return Boolean is
2204    begin
2205       pragma Assert (False
2206         or else NT (N).Nkind = N_Pragma);
2207       return Flag5 (N);
2208    end PPC_Enabled;
2209
2210    function Position
2211       (N : Node_Id) return Node_Id is
2212    begin
2213       pragma Assert (False
2214         or else NT (N).Nkind = N_Component_Clause);
2215       return Node2 (N);
2216    end Position;
2217
2218    function Pragma_Argument_Associations
2219       (N : Node_Id) return List_Id is
2220    begin
2221       pragma Assert (False
2222         or else NT (N).Nkind = N_Pragma);
2223       return List2 (N);
2224    end Pragma_Argument_Associations;
2225
2226    function Pragma_Identifier
2227       (N : Node_Id) return Node_Id is
2228    begin
2229       pragma Assert (False
2230         or else NT (N).Nkind = N_Pragma);
2231       return Node4 (N);
2232    end Pragma_Identifier;
2233
2234    function Pragmas_After
2235       (N : Node_Id) return List_Id is
2236    begin
2237       pragma Assert (False
2238         or else NT (N).Nkind = N_Compilation_Unit_Aux
2239         or else NT (N).Nkind = N_Terminate_Alternative);
2240       return List5 (N);
2241    end Pragmas_After;
2242
2243    function Pragmas_Before
2244       (N : Node_Id) return List_Id is
2245    begin
2246       pragma Assert (False
2247         or else NT (N).Nkind = N_Accept_Alternative
2248         or else NT (N).Nkind = N_Delay_Alternative
2249         or else NT (N).Nkind = N_Entry_Call_Alternative
2250         or else NT (N).Nkind = N_Mod_Clause
2251         or else NT (N).Nkind = N_Terminate_Alternative
2252         or else NT (N).Nkind = N_Triggering_Alternative);
2253       return List4 (N);
2254    end Pragmas_Before;
2255
2256    function Prefix
2257       (N : Node_Id) return Node_Id is
2258    begin
2259       pragma Assert (False
2260         or else NT (N).Nkind = N_Attribute_Reference
2261         or else NT (N).Nkind = N_Expanded_Name
2262         or else NT (N).Nkind = N_Explicit_Dereference
2263         or else NT (N).Nkind = N_Indexed_Component
2264         or else NT (N).Nkind = N_Reference
2265         or else NT (N).Nkind = N_Selected_Component
2266         or else NT (N).Nkind = N_Slice);
2267       return Node3 (N);
2268    end Prefix;
2269
2270    function Present_Expr
2271       (N : Node_Id) return Uint is
2272    begin
2273       pragma Assert (False
2274         or else NT (N).Nkind = N_Variant);
2275       return Uint3 (N);
2276    end Present_Expr;
2277
2278    function Prev_Ids
2279       (N : Node_Id) return Boolean is
2280    begin
2281       pragma Assert (False
2282         or else NT (N).Nkind = N_Component_Declaration
2283         or else NT (N).Nkind = N_Discriminant_Specification
2284         or else NT (N).Nkind = N_Exception_Declaration
2285         or else NT (N).Nkind = N_Formal_Object_Declaration
2286         or else NT (N).Nkind = N_Number_Declaration
2287         or else NT (N).Nkind = N_Object_Declaration
2288         or else NT (N).Nkind = N_Parameter_Specification);
2289       return Flag6 (N);
2290    end Prev_Ids;
2291
2292    function Print_In_Hex
2293       (N : Node_Id) return Boolean is
2294    begin
2295       pragma Assert (False
2296         or else NT (N).Nkind = N_Integer_Literal);
2297       return Flag13 (N);
2298    end Print_In_Hex;
2299
2300    function Private_Declarations
2301       (N : Node_Id) return List_Id is
2302    begin
2303       pragma Assert (False
2304         or else NT (N).Nkind = N_Package_Specification
2305         or else NT (N).Nkind = N_Protected_Definition
2306         or else NT (N).Nkind = N_Task_Definition);
2307       return List3 (N);
2308    end Private_Declarations;
2309
2310    function Private_Present
2311       (N : Node_Id) return Boolean is
2312    begin
2313       pragma Assert (False
2314         or else NT (N).Nkind = N_Compilation_Unit
2315         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2316         or else NT (N).Nkind = N_With_Clause);
2317       return Flag15 (N);
2318    end Private_Present;
2319
2320    function Procedure_To_Call
2321       (N : Node_Id) return Node_Id is
2322    begin
2323       pragma Assert (False
2324         or else NT (N).Nkind = N_Allocator
2325         or else NT (N).Nkind = N_Extended_Return_Statement
2326         or else NT (N).Nkind = N_Free_Statement
2327         or else NT (N).Nkind = N_Return_Statement);
2328       return Node2 (N);
2329    end Procedure_To_Call;
2330
2331    function Proper_Body
2332       (N : Node_Id) return Node_Id is
2333    begin
2334       pragma Assert (False
2335         or else NT (N).Nkind = N_Subunit);
2336       return Node1 (N);
2337    end Proper_Body;
2338
2339    function Protected_Definition
2340       (N : Node_Id) return Node_Id is
2341    begin
2342       pragma Assert (False
2343         or else NT (N).Nkind = N_Protected_Type_Declaration
2344         or else NT (N).Nkind = N_Single_Protected_Declaration);
2345       return Node3 (N);
2346    end Protected_Definition;
2347
2348    function Protected_Present
2349       (N : Node_Id) return Boolean is
2350    begin
2351       pragma Assert (False
2352         or else NT (N).Nkind = N_Access_Function_Definition
2353         or else NT (N).Nkind = N_Access_Procedure_Definition
2354         or else NT (N).Nkind = N_Derived_Type_Definition
2355         or else NT (N).Nkind = N_Record_Definition);
2356       return Flag6 (N);
2357    end Protected_Present;
2358
2359    function Raises_Constraint_Error
2360       (N : Node_Id) return Boolean is
2361    begin
2362       pragma Assert (False
2363         or else NT (N).Nkind in N_Subexpr);
2364       return Flag7 (N);
2365    end Raises_Constraint_Error;
2366
2367    function Range_Constraint
2368       (N : Node_Id) return Node_Id is
2369    begin
2370       pragma Assert (False
2371         or else NT (N).Nkind = N_Delta_Constraint
2372         or else NT (N).Nkind = N_Digits_Constraint);
2373       return Node4 (N);
2374    end Range_Constraint;
2375
2376    function Range_Expression
2377       (N : Node_Id) return Node_Id is
2378    begin
2379       pragma Assert (False
2380         or else NT (N).Nkind = N_Range_Constraint);
2381       return Node4 (N);
2382    end Range_Expression;
2383
2384    function Real_Range_Specification
2385       (N : Node_Id) return Node_Id is
2386    begin
2387       pragma Assert (False
2388         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2389         or else NT (N).Nkind = N_Floating_Point_Definition
2390         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2391       return Node4 (N);
2392    end Real_Range_Specification;
2393
2394    function Realval
2395       (N : Node_Id) return Ureal is
2396    begin
2397       pragma Assert (False
2398         or else NT (N).Nkind = N_Real_Literal);
2399       return Ureal3 (N);
2400    end Realval;
2401
2402    function Reason
2403       (N : Node_Id) return Uint is
2404    begin
2405       pragma Assert (False
2406         or else NT (N).Nkind = N_Raise_Constraint_Error
2407         or else NT (N).Nkind = N_Raise_Program_Error
2408         or else NT (N).Nkind = N_Raise_Storage_Error);
2409       return Uint3 (N);
2410    end Reason;
2411
2412    function Record_Extension_Part
2413       (N : Node_Id) return Node_Id is
2414    begin
2415       pragma Assert (False
2416         or else NT (N).Nkind = N_Derived_Type_Definition);
2417       return Node3 (N);
2418    end Record_Extension_Part;
2419
2420    function Redundant_Use
2421       (N : Node_Id) return Boolean is
2422    begin
2423       pragma Assert (False
2424         or else NT (N).Nkind = N_Attribute_Reference
2425         or else NT (N).Nkind = N_Expanded_Name
2426         or else NT (N).Nkind = N_Identifier);
2427       return Flag13 (N);
2428    end Redundant_Use;
2429
2430    function Renaming_Exception
2431       (N : Node_Id) return Node_Id is
2432    begin
2433       pragma Assert (False
2434         or else NT (N).Nkind = N_Exception_Declaration);
2435       return Node2 (N);
2436    end Renaming_Exception;
2437
2438    function Result_Definition
2439      (N : Node_Id) return Node_Id is
2440    begin
2441       pragma Assert (False
2442         or else NT (N).Nkind = N_Access_Function_Definition
2443         or else NT (N).Nkind = N_Function_Specification);
2444       return Node4 (N);
2445    end Result_Definition;
2446
2447    function Return_Object_Declarations
2448      (N : Node_Id) return List_Id is
2449    begin
2450       pragma Assert (False
2451         or else NT (N).Nkind = N_Extended_Return_Statement);
2452       return List3 (N);
2453    end Return_Object_Declarations;
2454
2455    function Return_Statement_Entity
2456      (N : Node_Id) return Node_Id is
2457    begin
2458       pragma Assert (False
2459         or else NT (N).Nkind = N_Extended_Return_Statement
2460         or else NT (N).Nkind = N_Return_Statement);
2461       return Node5 (N);
2462    end Return_Statement_Entity;
2463
2464    function Reverse_Present
2465       (N : Node_Id) return Boolean is
2466    begin
2467       pragma Assert (False
2468         or else NT (N).Nkind = N_Loop_Parameter_Specification);
2469       return Flag15 (N);
2470    end Reverse_Present;
2471
2472    function Right_Opnd
2473       (N : Node_Id) return Node_Id is
2474    begin
2475       pragma Assert (False
2476         or else NT (N).Nkind in N_Op
2477         or else NT (N).Nkind = N_And_Then
2478         or else NT (N).Nkind = N_In
2479         or else NT (N).Nkind = N_Not_In
2480         or else NT (N).Nkind = N_Or_Else);
2481       return Node3 (N);
2482    end Right_Opnd;
2483
2484    function Rounded_Result
2485       (N : Node_Id) return Boolean is
2486    begin
2487       pragma Assert (False
2488         or else NT (N).Nkind = N_Op_Divide
2489         or else NT (N).Nkind = N_Op_Multiply
2490         or else NT (N).Nkind = N_Type_Conversion);
2491       return Flag18 (N);
2492    end Rounded_Result;
2493
2494    function Scope
2495       (N : Node_Id) return Node_Id is
2496    begin
2497       pragma Assert (False
2498         or else NT (N).Nkind = N_Defining_Character_Literal
2499         or else NT (N).Nkind = N_Defining_Identifier
2500         or else NT (N).Nkind = N_Defining_Operator_Symbol);
2501       return Node3 (N);
2502    end Scope;
2503
2504    function Select_Alternatives
2505       (N : Node_Id) return List_Id is
2506    begin
2507       pragma Assert (False
2508         or else NT (N).Nkind = N_Selective_Accept);
2509       return List1 (N);
2510    end Select_Alternatives;
2511
2512    function Selector_Name
2513       (N : Node_Id) return Node_Id is
2514    begin
2515       pragma Assert (False
2516         or else NT (N).Nkind = N_Expanded_Name
2517         or else NT (N).Nkind = N_Generic_Association
2518         or else NT (N).Nkind = N_Parameter_Association
2519         or else NT (N).Nkind = N_Selected_Component);
2520       return Node2 (N);
2521    end Selector_Name;
2522
2523    function Selector_Names
2524       (N : Node_Id) return List_Id is
2525    begin
2526       pragma Assert (False
2527         or else NT (N).Nkind = N_Discriminant_Association);
2528       return List1 (N);
2529    end Selector_Names;
2530
2531    function Shift_Count_OK
2532       (N : Node_Id) return Boolean is
2533    begin
2534       pragma Assert (False
2535         or else NT (N).Nkind = N_Op_Rotate_Left
2536         or else NT (N).Nkind = N_Op_Rotate_Right
2537         or else NT (N).Nkind = N_Op_Shift_Left
2538         or else NT (N).Nkind = N_Op_Shift_Right
2539         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
2540       return Flag4 (N);
2541    end Shift_Count_OK;
2542
2543    function Source_Type
2544       (N : Node_Id) return Entity_Id is
2545    begin
2546       pragma Assert (False
2547         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2548       return Node1 (N);
2549    end Source_Type;
2550
2551    function Specification
2552       (N : Node_Id) return Node_Id is
2553    begin
2554       pragma Assert (False
2555         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
2556         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
2557         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
2558         or else NT (N).Nkind = N_Generic_Package_Declaration
2559         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2560         or else NT (N).Nkind = N_Package_Declaration
2561         or else NT (N).Nkind = N_Subprogram_Body
2562         or else NT (N).Nkind = N_Subprogram_Body_Stub
2563         or else NT (N).Nkind = N_Subprogram_Declaration
2564         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2565       return Node1 (N);
2566    end Specification;
2567
2568    function Statements
2569       (N : Node_Id) return List_Id is
2570    begin
2571       pragma Assert (False
2572         or else NT (N).Nkind = N_Abortable_Part
2573         or else NT (N).Nkind = N_Accept_Alternative
2574         or else NT (N).Nkind = N_Case_Statement_Alternative
2575         or else NT (N).Nkind = N_Delay_Alternative
2576         or else NT (N).Nkind = N_Entry_Call_Alternative
2577         or else NT (N).Nkind = N_Exception_Handler
2578         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
2579         or else NT (N).Nkind = N_Loop_Statement
2580         or else NT (N).Nkind = N_Triggering_Alternative);
2581       return List3 (N);
2582    end Statements;
2583
2584    function Static_Processing_OK
2585       (N : Node_Id) return Boolean is
2586    begin
2587       pragma Assert (False
2588         or else NT (N).Nkind = N_Aggregate);
2589       return Flag4 (N);
2590    end Static_Processing_OK;
2591
2592    function Storage_Pool
2593       (N : Node_Id) return Node_Id is
2594    begin
2595       pragma Assert (False
2596         or else NT (N).Nkind = N_Allocator
2597         or else NT (N).Nkind = N_Extended_Return_Statement
2598         or else NT (N).Nkind = N_Free_Statement
2599         or else NT (N).Nkind = N_Return_Statement);
2600       return Node1 (N);
2601    end Storage_Pool;
2602
2603    function Strval
2604       (N : Node_Id) return String_Id is
2605    begin
2606       pragma Assert (False
2607         or else NT (N).Nkind = N_Operator_Symbol
2608         or else NT (N).Nkind = N_String_Literal);
2609       return Str3 (N);
2610    end Strval;
2611
2612    function Subtype_Indication
2613       (N : Node_Id) return Node_Id is
2614    begin
2615       pragma Assert (False
2616         or else NT (N).Nkind = N_Access_To_Object_Definition
2617         or else NT (N).Nkind = N_Component_Definition
2618         or else NT (N).Nkind = N_Derived_Type_Definition
2619         or else NT (N).Nkind = N_Private_Extension_Declaration
2620         or else NT (N).Nkind = N_Subtype_Declaration);
2621       return Node5 (N);
2622    end Subtype_Indication;
2623
2624    function Suppress_Loop_Warnings
2625       (N : Node_Id) return Boolean is
2626    begin
2627       pragma Assert (False
2628         or else NT (N).Nkind = N_Loop_Statement);
2629       return Flag17 (N);
2630    end Suppress_Loop_Warnings;
2631
2632    function Subtype_Mark
2633       (N : Node_Id) return Node_Id is
2634    begin
2635       pragma Assert (False
2636         or else NT (N).Nkind = N_Access_Definition
2637         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2638         or else NT (N).Nkind = N_Formal_Object_Declaration
2639         or else NT (N).Nkind = N_Object_Renaming_Declaration
2640         or else NT (N).Nkind = N_Qualified_Expression
2641         or else NT (N).Nkind = N_Subtype_Indication
2642         or else NT (N).Nkind = N_Type_Conversion
2643         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2644       return Node4 (N);
2645    end Subtype_Mark;
2646
2647    function Subtype_Marks
2648       (N : Node_Id) return List_Id is
2649    begin
2650       pragma Assert (False
2651         or else NT (N).Nkind = N_Unconstrained_Array_Definition
2652         or else NT (N).Nkind = N_Use_Type_Clause);
2653       return List2 (N);
2654    end Subtype_Marks;
2655
2656    function Synchronized_Present
2657      (N : Node_Id) return Boolean is
2658    begin
2659       pragma Assert (False
2660         or else NT (N).Nkind = N_Derived_Type_Definition
2661         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2662         or else NT (N).Nkind = N_Private_Extension_Declaration
2663         or else NT (N).Nkind = N_Record_Definition);
2664       return Flag7 (N);
2665    end Synchronized_Present;
2666
2667    function Tagged_Present
2668       (N : Node_Id) return Boolean is
2669    begin
2670       pragma Assert (False
2671         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2672         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2673         or else NT (N).Nkind = N_Private_Type_Declaration
2674         or else NT (N).Nkind = N_Record_Definition);
2675       return Flag15 (N);
2676    end Tagged_Present;
2677
2678    function Target_Type
2679       (N : Node_Id) return Entity_Id is
2680    begin
2681       pragma Assert (False
2682         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2683       return Node2 (N);
2684    end Target_Type;
2685
2686    function Task_Definition
2687       (N : Node_Id) return Node_Id is
2688    begin
2689       pragma Assert (False
2690         or else NT (N).Nkind = N_Single_Task_Declaration
2691         or else NT (N).Nkind = N_Task_Type_Declaration);
2692       return Node3 (N);
2693    end Task_Definition;
2694
2695    function Task_Present
2696      (N : Node_Id) return Boolean is
2697    begin
2698       pragma Assert (False
2699         or else NT (N).Nkind = N_Derived_Type_Definition
2700         or else NT (N).Nkind = N_Record_Definition);
2701       return Flag5 (N);
2702    end Task_Present;
2703
2704    function Then_Actions
2705       (N : Node_Id) return List_Id is
2706    begin
2707       pragma Assert (False
2708         or else NT (N).Nkind = N_Conditional_Expression);
2709       return List2 (N);
2710    end Then_Actions;
2711
2712    function Then_Statements
2713       (N : Node_Id) return List_Id is
2714    begin
2715       pragma Assert (False
2716         or else NT (N).Nkind = N_Elsif_Part
2717         or else NT (N).Nkind = N_If_Statement);
2718       return List2 (N);
2719    end Then_Statements;
2720
2721    function Treat_Fixed_As_Integer
2722       (N : Node_Id) return Boolean is
2723    begin
2724       pragma Assert (False
2725         or else NT (N).Nkind = N_Op_Divide
2726         or else NT (N).Nkind = N_Op_Mod
2727         or else NT (N).Nkind = N_Op_Multiply
2728         or else NT (N).Nkind = N_Op_Rem);
2729       return Flag14 (N);
2730    end Treat_Fixed_As_Integer;
2731
2732    function Triggering_Alternative
2733       (N : Node_Id) return Node_Id is
2734    begin
2735       pragma Assert (False
2736         or else NT (N).Nkind = N_Asynchronous_Select);
2737       return Node1 (N);
2738    end Triggering_Alternative;
2739
2740    function Triggering_Statement
2741       (N : Node_Id) return Node_Id is
2742    begin
2743       pragma Assert (False
2744         or else NT (N).Nkind = N_Triggering_Alternative);
2745       return Node1 (N);
2746    end Triggering_Statement;
2747
2748    function TSS_Elist
2749       (N : Node_Id) return Elist_Id is
2750    begin
2751       pragma Assert (False
2752         or else NT (N).Nkind = N_Freeze_Entity);
2753       return Elist3 (N);
2754    end TSS_Elist;
2755
2756    function Type_Definition
2757       (N : Node_Id) return Node_Id is
2758    begin
2759       pragma Assert (False
2760         or else NT (N).Nkind = N_Full_Type_Declaration);
2761       return Node3 (N);
2762    end Type_Definition;
2763
2764    function Unit
2765       (N : Node_Id) return Node_Id is
2766    begin
2767       pragma Assert (False
2768         or else NT (N).Nkind = N_Compilation_Unit);
2769       return Node2 (N);
2770    end Unit;
2771
2772    function Unknown_Discriminants_Present
2773       (N : Node_Id) return Boolean is
2774    begin
2775       pragma Assert (False
2776         or else NT (N).Nkind = N_Formal_Type_Declaration
2777         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2778         or else NT (N).Nkind = N_Private_Extension_Declaration
2779         or else NT (N).Nkind = N_Private_Type_Declaration);
2780       return Flag13 (N);
2781    end Unknown_Discriminants_Present;
2782
2783    function Unreferenced_In_Spec
2784       (N : Node_Id) return Boolean is
2785    begin
2786       pragma Assert (False
2787         or else NT (N).Nkind = N_With_Clause);
2788       return Flag7 (N);
2789    end Unreferenced_In_Spec;
2790
2791    function Variant_Part
2792       (N : Node_Id) return Node_Id is
2793    begin
2794       pragma Assert (False
2795         or else NT (N).Nkind = N_Component_List);
2796       return Node4 (N);
2797    end Variant_Part;
2798
2799    function Variants
2800       (N : Node_Id) return List_Id is
2801    begin
2802       pragma Assert (False
2803         or else NT (N).Nkind = N_Variant_Part);
2804       return List1 (N);
2805    end Variants;
2806
2807    function Visible_Declarations
2808       (N : Node_Id) return List_Id is
2809    begin
2810       pragma Assert (False
2811         or else NT (N).Nkind = N_Package_Specification
2812         or else NT (N).Nkind = N_Protected_Definition
2813         or else NT (N).Nkind = N_Task_Definition);
2814       return List2 (N);
2815    end Visible_Declarations;
2816
2817    function Was_Originally_Stub
2818       (N : Node_Id) return Boolean is
2819    begin
2820       pragma Assert (False
2821         or else NT (N).Nkind = N_Package_Body
2822         or else NT (N).Nkind = N_Protected_Body
2823         or else NT (N).Nkind = N_Subprogram_Body
2824         or else NT (N).Nkind = N_Task_Body);
2825       return Flag13 (N);
2826    end Was_Originally_Stub;
2827
2828    function Zero_Cost_Handling
2829       (N : Node_Id) return Boolean is
2830    begin
2831       pragma Assert (False
2832         or else NT (N).Nkind = N_Exception_Handler
2833         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2834       return Flag5 (N);
2835    end Zero_Cost_Handling;
2836
2837    --------------------------
2838    -- Field Set Procedures --
2839    --------------------------
2840
2841    procedure Set_ABE_Is_Certain
2842       (N : Node_Id; Val : Boolean := True) is
2843    begin
2844       pragma Assert (False
2845         or else NT (N).Nkind = N_Formal_Package_Declaration
2846         or else NT (N).Nkind = N_Function_Call
2847         or else NT (N).Nkind = N_Function_Instantiation
2848         or else NT (N).Nkind = N_Package_Instantiation
2849         or else NT (N).Nkind = N_Procedure_Call_Statement
2850         or else NT (N).Nkind = N_Procedure_Instantiation);
2851       Set_Flag18 (N, Val);
2852    end Set_ABE_Is_Certain;
2853
2854    procedure Set_Abort_Present
2855       (N : Node_Id; Val : Boolean := True) is
2856    begin
2857       pragma Assert (False
2858         or else NT (N).Nkind = N_Requeue_Statement);
2859       Set_Flag15 (N, Val);
2860    end Set_Abort_Present;
2861
2862    procedure Set_Abortable_Part
2863       (N : Node_Id; Val : Node_Id) is
2864    begin
2865       pragma Assert (False
2866         or else NT (N).Nkind = N_Asynchronous_Select);
2867       Set_Node2_With_Parent (N, Val);
2868    end Set_Abortable_Part;
2869
2870    procedure Set_Abstract_Present
2871       (N : Node_Id; Val : Boolean := True) is
2872    begin
2873       pragma Assert (False
2874         or else NT (N).Nkind = N_Derived_Type_Definition
2875         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2876         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2877         or else NT (N).Nkind = N_Private_Extension_Declaration
2878         or else NT (N).Nkind = N_Private_Type_Declaration
2879         or else NT (N).Nkind = N_Record_Definition);
2880       Set_Flag4 (N, Val);
2881    end Set_Abstract_Present;
2882
2883    procedure Set_Accept_Handler_Records
2884       (N : Node_Id; Val : List_Id) is
2885    begin
2886       pragma Assert (False
2887         or else NT (N).Nkind = N_Accept_Alternative);
2888       Set_List5 (N, Val); -- semantic field, no parent set
2889    end Set_Accept_Handler_Records;
2890
2891    procedure Set_Accept_Statement
2892       (N : Node_Id; Val : Node_Id) is
2893    begin
2894       pragma Assert (False
2895         or else NT (N).Nkind = N_Accept_Alternative);
2896       Set_Node2_With_Parent (N, Val);
2897    end Set_Accept_Statement;
2898
2899    procedure Set_Access_Definition
2900      (N : Node_Id; Val : Node_Id) is
2901    begin
2902       pragma Assert (False
2903         or else NT (N).Nkind = N_Component_Definition
2904         or else NT (N).Nkind = N_Formal_Object_Declaration
2905         or else NT (N).Nkind = N_Object_Renaming_Declaration);
2906       Set_Node3_With_Parent (N, Val);
2907    end Set_Access_Definition;
2908
2909    procedure Set_Access_To_Subprogram_Definition
2910      (N : Node_Id; Val : Node_Id) is
2911    begin
2912       pragma Assert (False
2913         or else NT (N).Nkind = N_Access_Definition);
2914       Set_Node3_With_Parent (N, Val);
2915    end Set_Access_To_Subprogram_Definition;
2916
2917    procedure Set_Access_Types_To_Process
2918       (N : Node_Id; Val : Elist_Id) is
2919    begin
2920       pragma Assert (False
2921         or else NT (N).Nkind = N_Freeze_Entity);
2922       Set_Elist2 (N, Val); -- semantic field, no parent set
2923    end Set_Access_Types_To_Process;
2924
2925    procedure Set_Actions
2926       (N : Node_Id; Val : List_Id) is
2927    begin
2928       pragma Assert (False
2929         or else NT (N).Nkind = N_And_Then
2930         or else NT (N).Nkind = N_Compilation_Unit_Aux
2931         or else NT (N).Nkind = N_Freeze_Entity
2932         or else NT (N).Nkind = N_Or_Else);
2933       Set_List1_With_Parent (N, Val);
2934    end Set_Actions;
2935
2936    procedure Set_Activation_Chain_Entity
2937       (N : Node_Id; Val : Node_Id) is
2938    begin
2939       pragma Assert (False
2940         or else NT (N).Nkind = N_Block_Statement
2941         or else NT (N).Nkind = N_Entry_Body
2942         or else NT (N).Nkind = N_Generic_Package_Declaration
2943         or else NT (N).Nkind = N_Package_Declaration
2944         or else NT (N).Nkind = N_Subprogram_Body
2945         or else NT (N).Nkind = N_Task_Body);
2946       Set_Node3 (N, Val); -- semantic field, no parent set
2947    end Set_Activation_Chain_Entity;
2948
2949    procedure Set_Acts_As_Spec
2950       (N : Node_Id; Val : Boolean := True) is
2951    begin
2952       pragma Assert (False
2953         or else NT (N).Nkind = N_Compilation_Unit
2954         or else NT (N).Nkind = N_Subprogram_Body);
2955       Set_Flag4 (N, Val);
2956    end Set_Acts_As_Spec;
2957
2958    procedure Set_Actual_Designated_Subtype
2959      (N : Node_Id; Val : Node_Id) is
2960    begin
2961       pragma Assert (False
2962         or else NT (N).Nkind = N_Explicit_Dereference
2963         or else NT (N).Nkind = N_Free_Statement);
2964       Set_Node4 (N, Val);
2965    end Set_Actual_Designated_Subtype;
2966
2967    procedure Set_Address_Warning_Posted
2968       (N : Node_Id; Val : Boolean := True) is
2969    begin
2970       pragma Assert (False
2971         or else NT (N).Nkind = N_Attribute_Definition_Clause);
2972       Set_Flag18 (N, Val);
2973    end Set_Address_Warning_Posted;
2974
2975    procedure Set_Aggregate_Bounds
2976       (N : Node_Id; Val : Node_Id) is
2977    begin
2978       pragma Assert (False
2979         or else NT (N).Nkind = N_Aggregate);
2980       Set_Node3 (N, Val); -- semantic field, no parent set
2981    end Set_Aggregate_Bounds;
2982
2983    procedure Set_Aliased_Present
2984       (N : Node_Id; Val : Boolean := True) is
2985    begin
2986       pragma Assert (False
2987         or else NT (N).Nkind = N_Component_Definition
2988         or else NT (N).Nkind = N_Object_Declaration);
2989       Set_Flag4 (N, Val);
2990    end Set_Aliased_Present;
2991
2992    procedure Set_All_Others
2993       (N : Node_Id; Val : Boolean := True) is
2994    begin
2995       pragma Assert (False
2996         or else NT (N).Nkind = N_Others_Choice);
2997       Set_Flag11 (N, Val);
2998    end Set_All_Others;
2999
3000    procedure Set_All_Present
3001       (N : Node_Id; Val : Boolean := True) is
3002    begin
3003       pragma Assert (False
3004         or else NT (N).Nkind = N_Access_Definition
3005         or else NT (N).Nkind = N_Access_To_Object_Definition);
3006       Set_Flag15 (N, Val);
3007    end Set_All_Present;
3008
3009    procedure Set_Alternatives
3010       (N : Node_Id; Val : List_Id) is
3011    begin
3012       pragma Assert (False
3013         or else NT (N).Nkind = N_Case_Statement);
3014       Set_List4_With_Parent (N, Val);
3015    end Set_Alternatives;
3016
3017    procedure Set_Ancestor_Part
3018       (N : Node_Id; Val : Node_Id) is
3019    begin
3020       pragma Assert (False
3021         or else NT (N).Nkind = N_Extension_Aggregate);
3022       Set_Node3_With_Parent (N, Val);
3023    end Set_Ancestor_Part;
3024
3025    procedure Set_Array_Aggregate
3026       (N : Node_Id; Val : Node_Id) is
3027    begin
3028       pragma Assert (False
3029         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
3030       Set_Node3_With_Parent (N, Val);
3031    end Set_Array_Aggregate;
3032
3033    procedure Set_Assignment_OK
3034       (N : Node_Id; Val : Boolean := True) is
3035    begin
3036       pragma Assert (False
3037         or else NT (N).Nkind = N_Object_Declaration
3038         or else NT (N).Nkind in N_Subexpr);
3039       Set_Flag15 (N, Val);
3040    end Set_Assignment_OK;
3041
3042    procedure Set_Associated_Node
3043       (N : Node_Id; Val : Node_Id) is
3044    begin
3045       pragma Assert (False
3046         or else NT (N).Nkind in N_Has_Entity
3047         or else NT (N).Nkind = N_Aggregate
3048         or else NT (N).Nkind = N_Extension_Aggregate
3049         or else NT (N).Nkind = N_Selected_Component);
3050       Set_Node4 (N, Val); -- semantic field, no parent set
3051    end Set_Associated_Node;
3052
3053    procedure Set_At_End_Proc
3054       (N : Node_Id; Val : Node_Id) is
3055    begin
3056       pragma Assert (False
3057         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3058       Set_Node1 (N, Val);
3059    end Set_At_End_Proc;
3060
3061    procedure Set_Attribute_Name
3062       (N : Node_Id; Val : Name_Id) is
3063    begin
3064       pragma Assert (False
3065         or else NT (N).Nkind = N_Attribute_Reference);
3066       Set_Name2 (N, Val);
3067    end Set_Attribute_Name;
3068
3069    procedure Set_Aux_Decls_Node
3070       (N : Node_Id; Val : Node_Id) is
3071    begin
3072       pragma Assert (False
3073         or else NT (N).Nkind = N_Compilation_Unit);
3074       Set_Node5_With_Parent (N, Val);
3075    end Set_Aux_Decls_Node;
3076
3077    procedure Set_Backwards_OK
3078       (N : Node_Id; Val : Boolean := True) is
3079    begin
3080       pragma Assert (False
3081         or else NT (N).Nkind = N_Assignment_Statement);
3082       Set_Flag6 (N, Val);
3083    end Set_Backwards_OK;
3084
3085    procedure Set_Bad_Is_Detected
3086       (N : Node_Id; Val : Boolean := True) is
3087    begin
3088       pragma Assert (False
3089         or else NT (N).Nkind = N_Subprogram_Body);
3090       Set_Flag15 (N, Val);
3091    end Set_Bad_Is_Detected;
3092
3093    procedure Set_Body_Required
3094       (N : Node_Id; Val : Boolean := True) is
3095    begin
3096       pragma Assert (False
3097         or else NT (N).Nkind = N_Compilation_Unit);
3098       Set_Flag13 (N, Val);
3099    end Set_Body_Required;
3100
3101    procedure Set_Body_To_Inline
3102       (N : Node_Id; Val : Node_Id) is
3103    begin
3104       pragma Assert (False
3105         or else NT (N).Nkind = N_Subprogram_Declaration);
3106       Set_Node3 (N, Val);
3107    end Set_Body_To_Inline;
3108
3109    procedure Set_Box_Present
3110       (N : Node_Id; Val : Boolean := True) is
3111    begin
3112       pragma Assert (False
3113         or else NT (N).Nkind = N_Component_Association
3114         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3115         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
3116         or else NT (N).Nkind = N_Formal_Package_Declaration
3117         or else NT (N).Nkind = N_Generic_Association);
3118       Set_Flag15 (N, Val);
3119    end Set_Box_Present;
3120
3121    procedure Set_By_Ref
3122       (N : Node_Id; Val : Boolean := True) is
3123    begin
3124       pragma Assert (False
3125         or else NT (N).Nkind = N_Extended_Return_Statement
3126         or else NT (N).Nkind = N_Return_Statement);
3127       Set_Flag5 (N, Val);
3128    end Set_By_Ref;
3129
3130    procedure Set_Char_Literal_Value
3131       (N : Node_Id; Val : Uint) is
3132    begin
3133       pragma Assert (False
3134         or else NT (N).Nkind = N_Character_Literal);
3135       Set_Uint2 (N, Val);
3136    end Set_Char_Literal_Value;
3137
3138    procedure Set_Chars
3139       (N : Node_Id; Val : Name_Id) is
3140    begin
3141       pragma Assert (False
3142         or else NT (N).Nkind in N_Has_Chars);
3143       Set_Name1 (N, Val);
3144    end Set_Chars;
3145
3146    procedure Set_Check_Address_Alignment
3147       (N : Node_Id; Val : Boolean := True) is
3148    begin
3149       pragma Assert (False
3150           or else NT (N).Nkind = N_Attribute_Definition_Clause);
3151       Set_Flag11 (N, Val);
3152    end Set_Check_Address_Alignment;
3153
3154    procedure Set_Choice_Parameter
3155       (N : Node_Id; Val : Node_Id) is
3156    begin
3157       pragma Assert (False
3158         or else NT (N).Nkind = N_Exception_Handler);
3159       Set_Node2_With_Parent (N, Val);
3160    end Set_Choice_Parameter;
3161
3162    procedure Set_Choices
3163       (N : Node_Id; Val : List_Id) is
3164    begin
3165       pragma Assert (False
3166         or else NT (N).Nkind = N_Component_Association);
3167       Set_List1_With_Parent (N, Val);
3168    end Set_Choices;
3169
3170    procedure Set_Coextensions
3171       (N : Node_Id; Val : Elist_Id) is
3172    begin
3173       pragma Assert (False
3174         or else NT (N).Nkind = N_Allocator);
3175       Set_Elist4 (N, Val);
3176    end Set_Coextensions;
3177
3178    procedure Set_Comes_From_Extended_Return_Statement
3179      (N : Node_Id; Val : Boolean := True) is
3180    begin
3181       pragma Assert (False
3182         or else NT (N).Nkind = N_Return_Statement);
3183       Set_Flag18 (N, Val);
3184    end Set_Comes_From_Extended_Return_Statement;
3185
3186    procedure Set_Compile_Time_Known_Aggregate
3187       (N : Node_Id; Val : Boolean := True) is
3188    begin
3189       pragma Assert (False
3190         or else NT (N).Nkind = N_Aggregate);
3191       Set_Flag18 (N, Val);
3192    end Set_Compile_Time_Known_Aggregate;
3193
3194    procedure Set_Component_Associations
3195       (N : Node_Id; Val : List_Id) is
3196    begin
3197       pragma Assert (False
3198         or else NT (N).Nkind = N_Aggregate
3199         or else NT (N).Nkind = N_Extension_Aggregate);
3200       Set_List2_With_Parent (N, Val);
3201    end Set_Component_Associations;
3202
3203    procedure Set_Component_Clauses
3204       (N : Node_Id; Val : List_Id) is
3205    begin
3206       pragma Assert (False
3207         or else NT (N).Nkind = N_Record_Representation_Clause);
3208       Set_List3_With_Parent (N, Val);
3209    end Set_Component_Clauses;
3210
3211    procedure Set_Component_Definition
3212       (N : Node_Id; Val : Node_Id) is
3213    begin
3214       pragma Assert (False
3215         or else NT (N).Nkind = N_Component_Declaration
3216         or else NT (N).Nkind = N_Constrained_Array_Definition
3217         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
3218       Set_Node4_With_Parent (N, Val);
3219    end Set_Component_Definition;
3220
3221    procedure Set_Component_Items
3222       (N : Node_Id; Val : List_Id) is
3223    begin
3224       pragma Assert (False
3225         or else NT (N).Nkind = N_Component_List);
3226       Set_List3_With_Parent (N, Val);
3227    end Set_Component_Items;
3228
3229    procedure Set_Component_List
3230       (N : Node_Id; Val : Node_Id) is
3231    begin
3232       pragma Assert (False
3233         or else NT (N).Nkind = N_Record_Definition
3234         or else NT (N).Nkind = N_Variant);
3235       Set_Node1_With_Parent (N, Val);
3236    end Set_Component_List;
3237
3238    procedure Set_Component_Name
3239       (N : Node_Id; Val : Node_Id) is
3240    begin
3241       pragma Assert (False
3242         or else NT (N).Nkind = N_Component_Clause);
3243       Set_Node1_With_Parent (N, Val);
3244    end Set_Component_Name;
3245
3246    procedure Set_Condition
3247       (N : Node_Id; Val : Node_Id) is
3248    begin
3249       pragma Assert (False
3250         or else NT (N).Nkind = N_Accept_Alternative
3251         or else NT (N).Nkind = N_Delay_Alternative
3252         or else NT (N).Nkind = N_Elsif_Part
3253         or else NT (N).Nkind = N_Entry_Body_Formal_Part
3254         or else NT (N).Nkind = N_Exit_Statement
3255         or else NT (N).Nkind = N_If_Statement
3256         or else NT (N).Nkind = N_Iteration_Scheme
3257         or else NT (N).Nkind = N_Raise_Constraint_Error
3258         or else NT (N).Nkind = N_Raise_Program_Error
3259         or else NT (N).Nkind = N_Raise_Storage_Error
3260         or else NT (N).Nkind = N_Terminate_Alternative);
3261       Set_Node1_With_Parent (N, Val);
3262    end Set_Condition;
3263
3264    procedure Set_Condition_Actions
3265       (N : Node_Id; Val : List_Id) is
3266    begin
3267       pragma Assert (False
3268         or else NT (N).Nkind = N_Elsif_Part
3269         or else NT (N).Nkind = N_Iteration_Scheme);
3270       Set_List3 (N, Val); -- semantic field, no parent set
3271    end Set_Condition_Actions;
3272
3273    procedure Set_Config_Pragmas
3274       (N : Node_Id; Val : List_Id) is
3275    begin
3276       pragma Assert (False
3277         or else NT (N).Nkind = N_Compilation_Unit_Aux);
3278       Set_List4_With_Parent (N, Val);
3279    end Set_Config_Pragmas;
3280
3281    procedure Set_Constant_Present
3282       (N : Node_Id; Val : Boolean := True) is
3283    begin
3284       pragma Assert (False
3285         or else NT (N).Nkind = N_Access_Definition
3286         or else NT (N).Nkind = N_Access_To_Object_Definition
3287         or else NT (N).Nkind = N_Object_Declaration);
3288       Set_Flag17 (N, Val);
3289    end Set_Constant_Present;
3290
3291    procedure Set_Constraint
3292       (N : Node_Id; Val : Node_Id) is
3293    begin
3294       pragma Assert (False
3295         or else NT (N).Nkind = N_Subtype_Indication);
3296       Set_Node3_With_Parent (N, Val);
3297    end Set_Constraint;
3298
3299    procedure Set_Constraints
3300       (N : Node_Id; Val : List_Id) is
3301    begin
3302       pragma Assert (False
3303         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
3304       Set_List1_With_Parent (N, Val);
3305    end Set_Constraints;
3306
3307    procedure Set_Context_Installed
3308       (N : Node_Id; Val : Boolean := True) is
3309    begin
3310       pragma Assert (False
3311         or else NT (N).Nkind = N_With_Clause);
3312       Set_Flag13 (N, Val);
3313    end Set_Context_Installed;
3314
3315    procedure Set_Context_Items
3316       (N : Node_Id; Val : List_Id) is
3317    begin
3318       pragma Assert (False
3319         or else NT (N).Nkind = N_Compilation_Unit);
3320       Set_List1_With_Parent (N, Val);
3321    end Set_Context_Items;
3322
3323    procedure Set_Controlling_Argument
3324       (N : Node_Id; Val : Node_Id) is
3325    begin
3326       pragma Assert (False
3327         or else NT (N).Nkind = N_Function_Call
3328         or else NT (N).Nkind = N_Procedure_Call_Statement);
3329       Set_Node1 (N, Val); -- semantic field, no parent set
3330    end Set_Controlling_Argument;
3331
3332    procedure Set_Conversion_OK
3333       (N : Node_Id; Val : Boolean := True) is
3334    begin
3335       pragma Assert (False
3336         or else NT (N).Nkind = N_Type_Conversion);
3337       Set_Flag14 (N, Val);
3338    end Set_Conversion_OK;
3339
3340    procedure Set_Corresponding_Body
3341       (N : Node_Id; Val : Node_Id) is
3342    begin
3343       pragma Assert (False
3344         or else NT (N).Nkind = N_Entry_Declaration
3345         or else NT (N).Nkind = N_Generic_Package_Declaration
3346         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
3347         or else NT (N).Nkind = N_Package_Body_Stub
3348         or else NT (N).Nkind = N_Package_Declaration
3349         or else NT (N).Nkind = N_Protected_Body_Stub
3350         or else NT (N).Nkind = N_Protected_Type_Declaration
3351         or else NT (N).Nkind = N_Subprogram_Body_Stub
3352         or else NT (N).Nkind = N_Subprogram_Declaration
3353         or else NT (N).Nkind = N_Task_Body_Stub
3354         or else NT (N).Nkind = N_Task_Type_Declaration);
3355       Set_Node5 (N, Val); -- semantic field, no parent set
3356    end Set_Corresponding_Body;
3357
3358    procedure Set_Corresponding_Formal_Spec
3359       (N : Node_Id; Val : Node_Id) is
3360    begin
3361       pragma Assert (False
3362         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3363       Set_Node3 (N, Val); -- semantic field, no parent set
3364    end Set_Corresponding_Formal_Spec;
3365
3366    procedure Set_Corresponding_Generic_Association
3367       (N : Node_Id; Val : Node_Id) is
3368    begin
3369       pragma Assert (False
3370         or else NT (N).Nkind = N_Object_Declaration
3371         or else NT (N).Nkind = N_Object_Renaming_Declaration);
3372       Set_Node5 (N, Val); -- semantic field, no parent set
3373    end Set_Corresponding_Generic_Association;
3374
3375    procedure Set_Corresponding_Integer_Value
3376       (N : Node_Id; Val : Uint) is
3377    begin
3378       pragma Assert (False
3379         or else NT (N).Nkind = N_Real_Literal);
3380       Set_Uint4 (N, Val); -- semantic field, no parent set
3381    end Set_Corresponding_Integer_Value;
3382
3383    procedure Set_Corresponding_Spec
3384       (N : Node_Id; Val : Node_Id) is
3385    begin
3386       pragma Assert (False
3387         or else NT (N).Nkind = N_Package_Body
3388         or else NT (N).Nkind = N_Protected_Body
3389         or else NT (N).Nkind = N_Subprogram_Body
3390         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
3391         or else NT (N).Nkind = N_Task_Body
3392         or else NT (N).Nkind = N_With_Clause);
3393       Set_Node5 (N, Val); -- semantic field, no parent set
3394    end Set_Corresponding_Spec;
3395
3396    procedure Set_Corresponding_Stub
3397       (N : Node_Id; Val : Node_Id) is
3398    begin
3399       pragma Assert (False
3400         or else NT (N).Nkind = N_Subunit);
3401       Set_Node3 (N, Val);
3402    end Set_Corresponding_Stub;
3403
3404    procedure Set_Dcheck_Function
3405       (N : Node_Id; Val : Entity_Id) is
3406    begin
3407       pragma Assert (False
3408         or else NT (N).Nkind = N_Variant);
3409       Set_Node5 (N, Val); -- semantic field, no parent set
3410    end Set_Dcheck_Function;
3411
3412    procedure Set_Debug_Statement
3413       (N : Node_Id; Val : Node_Id) is
3414    begin
3415       pragma Assert (False
3416         or else NT (N).Nkind = N_Pragma);
3417       Set_Node3_With_Parent (N, Val);
3418    end Set_Debug_Statement;
3419
3420    procedure Set_Declarations
3421       (N : Node_Id; Val : List_Id) is
3422    begin
3423       pragma Assert (False
3424         or else NT (N).Nkind = N_Accept_Statement
3425         or else NT (N).Nkind = N_Block_Statement
3426         or else NT (N).Nkind = N_Compilation_Unit_Aux
3427         or else NT (N).Nkind = N_Entry_Body
3428         or else NT (N).Nkind = N_Package_Body
3429         or else NT (N).Nkind = N_Protected_Body
3430         or else NT (N).Nkind = N_Subprogram_Body
3431         or else NT (N).Nkind = N_Task_Body);
3432       Set_List2_With_Parent (N, Val);
3433    end Set_Declarations;
3434
3435    procedure Set_Default_Expression
3436       (N : Node_Id; Val : Node_Id) is
3437    begin
3438       pragma Assert (False
3439         or else NT (N).Nkind = N_Formal_Object_Declaration
3440         or else NT (N).Nkind = N_Parameter_Specification);
3441       Set_Node5 (N, Val); -- semantic field, no parent set
3442    end Set_Default_Expression;
3443
3444    procedure Set_Default_Name
3445       (N : Node_Id; Val : Node_Id) is
3446    begin
3447       pragma Assert (False
3448         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3449         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
3450       Set_Node2_With_Parent (N, Val);
3451    end Set_Default_Name;
3452
3453    procedure Set_Defining_Identifier
3454       (N : Node_Id; Val : Entity_Id) is
3455    begin
3456       pragma Assert (False
3457         or else NT (N).Nkind = N_Component_Declaration
3458         or else NT (N).Nkind = N_Defining_Program_Unit_Name
3459         or else NT (N).Nkind = N_Discriminant_Specification
3460         or else NT (N).Nkind = N_Entry_Body
3461         or else NT (N).Nkind = N_Entry_Declaration
3462         or else NT (N).Nkind = N_Entry_Index_Specification
3463         or else NT (N).Nkind = N_Exception_Declaration
3464         or else NT (N).Nkind = N_Exception_Renaming_Declaration
3465         or else NT (N).Nkind = N_Formal_Object_Declaration
3466         or else NT (N).Nkind = N_Formal_Package_Declaration
3467         or else NT (N).Nkind = N_Formal_Type_Declaration
3468         or else NT (N).Nkind = N_Full_Type_Declaration
3469         or else NT (N).Nkind = N_Implicit_Label_Declaration
3470         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3471         or else NT (N).Nkind = N_Loop_Parameter_Specification
3472         or else NT (N).Nkind = N_Number_Declaration
3473         or else NT (N).Nkind = N_Object_Declaration
3474         or else NT (N).Nkind = N_Object_Renaming_Declaration
3475         or else NT (N).Nkind = N_Package_Body_Stub
3476         or else NT (N).Nkind = N_Parameter_Specification
3477         or else NT (N).Nkind = N_Private_Extension_Declaration
3478         or else NT (N).Nkind = N_Private_Type_Declaration
3479         or else NT (N).Nkind = N_Protected_Body
3480         or else NT (N).Nkind = N_Protected_Body_Stub
3481         or else NT (N).Nkind = N_Protected_Type_Declaration
3482         or else NT (N).Nkind = N_Single_Protected_Declaration
3483         or else NT (N).Nkind = N_Single_Task_Declaration
3484         or else NT (N).Nkind = N_Subtype_Declaration
3485         or else NT (N).Nkind = N_Task_Body
3486         or else NT (N).Nkind = N_Task_Body_Stub
3487         or else NT (N).Nkind = N_Task_Type_Declaration);
3488       Set_Node1_With_Parent (N, Val);
3489    end Set_Defining_Identifier;
3490
3491    procedure Set_Defining_Unit_Name
3492       (N : Node_Id; Val : Node_Id) is
3493    begin
3494       pragma Assert (False
3495         or else NT (N).Nkind = N_Function_Instantiation
3496         or else NT (N).Nkind = N_Function_Specification
3497         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3498         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3499         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3500         or else NT (N).Nkind = N_Package_Body
3501         or else NT (N).Nkind = N_Package_Instantiation
3502         or else NT (N).Nkind = N_Package_Renaming_Declaration
3503         or else NT (N).Nkind = N_Package_Specification
3504         or else NT (N).Nkind = N_Procedure_Instantiation
3505         or else NT (N).Nkind = N_Procedure_Specification);
3506       Set_Node1_With_Parent (N, Val);
3507    end Set_Defining_Unit_Name;
3508
3509    procedure Set_Delay_Alternative
3510       (N : Node_Id; Val : Node_Id) is
3511    begin
3512       pragma Assert (False
3513         or else NT (N).Nkind = N_Timed_Entry_Call);
3514       Set_Node4_With_Parent (N, Val);
3515    end Set_Delay_Alternative;
3516
3517    procedure Set_Delay_Statement
3518       (N : Node_Id; Val : Node_Id) is
3519    begin
3520       pragma Assert (False
3521         or else NT (N).Nkind = N_Delay_Alternative);
3522       Set_Node2_With_Parent (N, Val);
3523    end Set_Delay_Statement;
3524
3525    procedure Set_Delta_Expression
3526       (N : Node_Id; Val : Node_Id) is
3527    begin
3528       pragma Assert (False
3529         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3530         or else NT (N).Nkind = N_Delta_Constraint
3531         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3532       Set_Node3_With_Parent (N, Val);
3533    end Set_Delta_Expression;
3534
3535    procedure Set_Digits_Expression
3536       (N : Node_Id; Val : Node_Id) is
3537    begin
3538       pragma Assert (False
3539         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3540         or else NT (N).Nkind = N_Digits_Constraint
3541         or else NT (N).Nkind = N_Floating_Point_Definition);
3542       Set_Node2_With_Parent (N, Val);
3543    end Set_Digits_Expression;
3544
3545    procedure Set_Discr_Check_Funcs_Built
3546       (N : Node_Id; Val : Boolean := True) is
3547    begin
3548       pragma Assert (False
3549         or else NT (N).Nkind = N_Full_Type_Declaration);
3550       Set_Flag11 (N, Val);
3551    end Set_Discr_Check_Funcs_Built;
3552
3553    procedure Set_Discrete_Choices
3554       (N : Node_Id; Val : List_Id) is
3555    begin
3556       pragma Assert (False
3557         or else NT (N).Nkind = N_Case_Statement_Alternative
3558         or else NT (N).Nkind = N_Variant);
3559       Set_List4_With_Parent (N, Val);
3560    end Set_Discrete_Choices;
3561
3562    procedure Set_Discrete_Range
3563       (N : Node_Id; Val : Node_Id) is
3564    begin
3565       pragma Assert (False
3566         or else NT (N).Nkind = N_Slice);
3567       Set_Node4_With_Parent (N, Val);
3568    end Set_Discrete_Range;
3569
3570    procedure Set_Discrete_Subtype_Definition
3571       (N : Node_Id; Val : Node_Id) is
3572    begin
3573       pragma Assert (False
3574         or else NT (N).Nkind = N_Entry_Declaration
3575         or else NT (N).Nkind = N_Entry_Index_Specification
3576         or else NT (N).Nkind = N_Loop_Parameter_Specification);
3577       Set_Node4_With_Parent (N, Val);
3578    end Set_Discrete_Subtype_Definition;
3579
3580    procedure Set_Discrete_Subtype_Definitions
3581       (N : Node_Id; Val : List_Id) is
3582    begin
3583       pragma Assert (False
3584         or else NT (N).Nkind = N_Constrained_Array_Definition);
3585       Set_List2_With_Parent (N, Val);
3586    end Set_Discrete_Subtype_Definitions;
3587
3588    procedure Set_Discriminant_Specifications
3589       (N : Node_Id; Val : List_Id) is
3590    begin
3591       pragma Assert (False
3592         or else NT (N).Nkind = N_Formal_Type_Declaration
3593         or else NT (N).Nkind = N_Full_Type_Declaration
3594         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3595         or else NT (N).Nkind = N_Private_Extension_Declaration
3596         or else NT (N).Nkind = N_Private_Type_Declaration
3597         or else NT (N).Nkind = N_Protected_Type_Declaration
3598         or else NT (N).Nkind = N_Task_Type_Declaration);
3599       Set_List4_With_Parent (N, Val);
3600    end Set_Discriminant_Specifications;
3601
3602    procedure Set_Discriminant_Type
3603       (N : Node_Id; Val : Node_Id) is
3604    begin
3605       pragma Assert (False
3606         or else NT (N).Nkind = N_Discriminant_Specification);
3607       Set_Node5_With_Parent (N, Val);
3608    end Set_Discriminant_Type;
3609
3610    procedure Set_Do_Accessibility_Check
3611       (N : Node_Id; Val : Boolean := True) is
3612    begin
3613       pragma Assert (False
3614         or else NT (N).Nkind = N_Parameter_Specification);
3615       Set_Flag13 (N, Val);
3616    end Set_Do_Accessibility_Check;
3617
3618    procedure Set_Do_Discriminant_Check
3619       (N : Node_Id; Val : Boolean := True) is
3620    begin
3621       pragma Assert (False
3622         or else NT (N).Nkind = N_Selected_Component);
3623       Set_Flag13 (N, Val);
3624    end Set_Do_Discriminant_Check;
3625
3626    procedure Set_Do_Division_Check
3627       (N : Node_Id; Val : Boolean := True) is
3628    begin
3629       pragma Assert (False
3630         or else NT (N).Nkind = N_Op_Divide
3631         or else NT (N).Nkind = N_Op_Mod
3632         or else NT (N).Nkind = N_Op_Rem);
3633       Set_Flag13 (N, Val);
3634    end Set_Do_Division_Check;
3635
3636    procedure Set_Do_Length_Check
3637       (N : Node_Id; Val : Boolean := True) is
3638    begin
3639       pragma Assert (False
3640         or else NT (N).Nkind = N_Assignment_Statement
3641         or else NT (N).Nkind = N_Op_And
3642         or else NT (N).Nkind = N_Op_Or
3643         or else NT (N).Nkind = N_Op_Xor
3644         or else NT (N).Nkind = N_Type_Conversion);
3645       Set_Flag4 (N, Val);
3646    end Set_Do_Length_Check;
3647
3648    procedure Set_Do_Overflow_Check
3649       (N : Node_Id; Val : Boolean := True) is
3650    begin
3651       pragma Assert (False
3652         or else NT (N).Nkind in N_Op
3653         or else NT (N).Nkind = N_Attribute_Reference
3654         or else NT (N).Nkind = N_Type_Conversion);
3655       Set_Flag17 (N, Val);
3656    end Set_Do_Overflow_Check;
3657
3658    procedure Set_Do_Range_Check
3659       (N : Node_Id; Val : Boolean := True) is
3660    begin
3661       pragma Assert (False
3662         or else NT (N).Nkind in N_Subexpr);
3663       Set_Flag9 (N, Val);
3664    end Set_Do_Range_Check;
3665
3666    procedure Set_Do_Storage_Check
3667       (N : Node_Id; Val : Boolean := True) is
3668    begin
3669       pragma Assert (False
3670         or else NT (N).Nkind = N_Allocator
3671         or else NT (N).Nkind = N_Subprogram_Body);
3672       Set_Flag17 (N, Val);
3673    end Set_Do_Storage_Check;
3674
3675    procedure Set_Do_Tag_Check
3676       (N : Node_Id; Val : Boolean := True) is
3677    begin
3678       pragma Assert (False
3679         or else NT (N).Nkind = N_Assignment_Statement
3680         or else NT (N).Nkind = N_Extended_Return_Statement
3681         or else NT (N).Nkind = N_Function_Call
3682         or else NT (N).Nkind = N_Procedure_Call_Statement
3683         or else NT (N).Nkind = N_Return_Statement
3684         or else NT (N).Nkind = N_Type_Conversion);
3685       Set_Flag13 (N, Val);
3686    end Set_Do_Tag_Check;
3687
3688    procedure Set_Elaborate_All_Desirable
3689       (N : Node_Id; Val : Boolean := True) is
3690    begin
3691       pragma Assert (False
3692         or else NT (N).Nkind = N_With_Clause);
3693       Set_Flag9 (N, Val);
3694    end Set_Elaborate_All_Desirable;
3695
3696    procedure Set_Elaborate_All_Present
3697       (N : Node_Id; Val : Boolean := True) is
3698    begin
3699       pragma Assert (False
3700         or else NT (N).Nkind = N_With_Clause);
3701       Set_Flag14 (N, Val);
3702    end Set_Elaborate_All_Present;
3703
3704    procedure Set_Elaborate_Desirable
3705       (N : Node_Id; Val : Boolean := True) is
3706    begin
3707       pragma Assert (False
3708         or else NT (N).Nkind = N_With_Clause);
3709       Set_Flag11 (N, Val);
3710    end Set_Elaborate_Desirable;
3711
3712    procedure Set_Elaborate_Present
3713       (N : Node_Id; Val : Boolean := True) is
3714    begin
3715       pragma Assert (False
3716         or else NT (N).Nkind = N_With_Clause);
3717       Set_Flag4 (N, Val);
3718    end Set_Elaborate_Present;
3719
3720    procedure Set_Elaboration_Boolean
3721       (N : Node_Id; Val : Node_Id) is
3722    begin
3723       pragma Assert (False
3724         or else NT (N).Nkind = N_Function_Specification
3725         or else NT (N).Nkind = N_Procedure_Specification);
3726       Set_Node2 (N, Val);
3727    end Set_Elaboration_Boolean;
3728
3729    procedure Set_Else_Actions
3730       (N : Node_Id; Val : List_Id) is
3731    begin
3732       pragma Assert (False
3733         or else NT (N).Nkind = N_Conditional_Expression);
3734       Set_List3 (N, Val); -- semantic field, no parent set
3735    end Set_Else_Actions;
3736
3737    procedure Set_Else_Statements
3738       (N : Node_Id; Val : List_Id) is
3739    begin
3740       pragma Assert (False
3741         or else NT (N).Nkind = N_Conditional_Entry_Call
3742         or else NT (N).Nkind = N_If_Statement
3743         or else NT (N).Nkind = N_Selective_Accept);
3744       Set_List4_With_Parent (N, Val);
3745    end Set_Else_Statements;
3746
3747    procedure Set_Elsif_Parts
3748       (N : Node_Id; Val : List_Id) is
3749    begin
3750       pragma Assert (False
3751         or else NT (N).Nkind = N_If_Statement);
3752       Set_List3_With_Parent (N, Val);
3753    end Set_Elsif_Parts;
3754
3755    procedure Set_Enclosing_Variant
3756       (N : Node_Id; Val : Node_Id) is
3757    begin
3758       pragma Assert (False
3759         or else NT (N).Nkind = N_Variant);
3760       Set_Node2 (N, Val); -- semantic field, no parent set
3761    end Set_Enclosing_Variant;
3762
3763    procedure Set_End_Label
3764       (N : Node_Id; Val : Node_Id) is
3765    begin
3766       pragma Assert (False
3767         or else NT (N).Nkind = N_Enumeration_Type_Definition
3768         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3769         or else NT (N).Nkind = N_Loop_Statement
3770         or else NT (N).Nkind = N_Package_Specification
3771         or else NT (N).Nkind = N_Protected_Body
3772         or else NT (N).Nkind = N_Protected_Definition
3773         or else NT (N).Nkind = N_Record_Definition
3774         or else NT (N).Nkind = N_Task_Definition);
3775       Set_Node4_With_Parent (N, Val);
3776    end Set_End_Label;
3777
3778    procedure Set_End_Span
3779       (N : Node_Id; Val : Uint) is
3780    begin
3781       pragma Assert (False
3782         or else NT (N).Nkind = N_Case_Statement
3783         or else NT (N).Nkind = N_If_Statement);
3784       Set_Uint5 (N, Val);
3785    end Set_End_Span;
3786
3787    procedure Set_Entity
3788       (N : Node_Id; Val : Node_Id) is
3789    begin
3790       pragma Assert (False
3791         or else NT (N).Nkind in N_Has_Entity
3792         or else NT (N).Nkind = N_Freeze_Entity
3793         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3794       Set_Node4 (N, Val); -- semantic field, no parent set
3795    end Set_Entity;
3796
3797    procedure Set_Entry_Body_Formal_Part
3798       (N : Node_Id; Val : Node_Id) is
3799    begin
3800       pragma Assert (False
3801         or else NT (N).Nkind = N_Entry_Body);
3802       Set_Node5_With_Parent (N, Val);
3803    end Set_Entry_Body_Formal_Part;
3804
3805    procedure Set_Entry_Call_Alternative
3806       (N : Node_Id; Val : Node_Id) is
3807    begin
3808       pragma Assert (False
3809         or else NT (N).Nkind = N_Conditional_Entry_Call
3810         or else NT (N).Nkind = N_Timed_Entry_Call);
3811       Set_Node1_With_Parent (N, Val);
3812    end Set_Entry_Call_Alternative;
3813
3814    procedure Set_Entry_Call_Statement
3815       (N : Node_Id; Val : Node_Id) is
3816    begin
3817       pragma Assert (False
3818         or else NT (N).Nkind = N_Entry_Call_Alternative);
3819       Set_Node1_With_Parent (N, Val);
3820    end Set_Entry_Call_Statement;
3821
3822    procedure Set_Entry_Direct_Name
3823       (N : Node_Id; Val : Node_Id) is
3824    begin
3825       pragma Assert (False
3826         or else NT (N).Nkind = N_Accept_Statement);
3827       Set_Node1_With_Parent (N, Val);
3828    end Set_Entry_Direct_Name;
3829
3830    procedure Set_Entry_Index
3831       (N : Node_Id; Val : Node_Id) is
3832    begin
3833       pragma Assert (False
3834         or else NT (N).Nkind = N_Accept_Statement);
3835       Set_Node5_With_Parent (N, Val);
3836    end Set_Entry_Index;
3837
3838    procedure Set_Entry_Index_Specification
3839       (N : Node_Id; Val : Node_Id) is
3840    begin
3841       pragma Assert (False
3842         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3843       Set_Node4_With_Parent (N, Val);
3844    end Set_Entry_Index_Specification;
3845
3846    procedure Set_Etype
3847       (N : Node_Id; Val : Node_Id) is
3848    begin
3849       pragma Assert (False
3850         or else NT (N).Nkind in N_Has_Etype);
3851       Set_Node5 (N, Val); -- semantic field, no parent set
3852    end Set_Etype;
3853
3854    procedure Set_Exception_Choices
3855       (N : Node_Id; Val : List_Id) is
3856    begin
3857       pragma Assert (False
3858         or else NT (N).Nkind = N_Exception_Handler);
3859       Set_List4_With_Parent (N, Val);
3860    end Set_Exception_Choices;
3861
3862    procedure Set_Exception_Handlers
3863       (N : Node_Id; Val : List_Id) is
3864    begin
3865       pragma Assert (False
3866         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3867       Set_List5_With_Parent (N, Val);
3868    end Set_Exception_Handlers;
3869
3870    procedure Set_Exception_Junk
3871      (N : Node_Id; Val : Boolean := True) is
3872    begin
3873       pragma Assert (False
3874         or else NT (N).Nkind = N_Block_Statement
3875         or else NT (N).Nkind = N_Goto_Statement
3876         or else NT (N).Nkind = N_Label
3877         or else NT (N).Nkind = N_Object_Declaration
3878         or else NT (N).Nkind = N_Subtype_Declaration);
3879       Set_Flag8 (N, Val);
3880    end Set_Exception_Junk;
3881
3882    procedure Set_Exception_Label
3883      (N : Node_Id; Val : Node_Id) is
3884    begin
3885       pragma Assert (False
3886         or else NT (N).Nkind = N_Exception_Handler
3887         or else NT (N).Nkind = N_Push_Constraint_Error_Label
3888         or else NT (N).Nkind = N_Push_Program_Error_Label
3889         or else NT (N).Nkind = N_Push_Storage_Error_Label);
3890       Set_Node5 (N, Val); -- semantic field, no parent set
3891    end Set_Exception_Label;
3892
3893    procedure Set_Expansion_Delayed
3894      (N : Node_Id; Val : Boolean := True) is
3895    begin
3896       pragma Assert (False
3897         or else NT (N).Nkind = N_Aggregate
3898         or else NT (N).Nkind = N_Extension_Aggregate);
3899       Set_Flag11 (N, Val);
3900    end Set_Expansion_Delayed;
3901
3902    procedure Set_Explicit_Actual_Parameter
3903       (N : Node_Id; Val : Node_Id) is
3904    begin
3905       pragma Assert (False
3906         or else NT (N).Nkind = N_Parameter_Association);
3907       Set_Node3_With_Parent (N, Val);
3908    end Set_Explicit_Actual_Parameter;
3909
3910    procedure Set_Explicit_Generic_Actual_Parameter
3911       (N : Node_Id; Val : Node_Id) is
3912    begin
3913       pragma Assert (False
3914         or else NT (N).Nkind = N_Generic_Association);
3915       Set_Node1_With_Parent (N, Val);
3916    end Set_Explicit_Generic_Actual_Parameter;
3917
3918    procedure Set_Expression
3919       (N : Node_Id; Val : Node_Id) is
3920    begin
3921       pragma Assert (False
3922         or else NT (N).Nkind = N_Allocator
3923         or else NT (N).Nkind = N_Assignment_Statement
3924         or else NT (N).Nkind = N_At_Clause
3925         or else NT (N).Nkind = N_Attribute_Definition_Clause
3926         or else NT (N).Nkind = N_Case_Statement
3927         or else NT (N).Nkind = N_Code_Statement
3928         or else NT (N).Nkind = N_Component_Association
3929         or else NT (N).Nkind = N_Component_Declaration
3930         or else NT (N).Nkind = N_Delay_Relative_Statement
3931         or else NT (N).Nkind = N_Delay_Until_Statement
3932         or else NT (N).Nkind = N_Discriminant_Association
3933         or else NT (N).Nkind = N_Discriminant_Specification
3934         or else NT (N).Nkind = N_Exception_Declaration
3935         or else NT (N).Nkind = N_Free_Statement
3936         or else NT (N).Nkind = N_Mod_Clause
3937         or else NT (N).Nkind = N_Modular_Type_Definition
3938         or else NT (N).Nkind = N_Number_Declaration
3939         or else NT (N).Nkind = N_Object_Declaration
3940         or else NT (N).Nkind = N_Parameter_Specification
3941         or else NT (N).Nkind = N_Pragma_Argument_Association
3942         or else NT (N).Nkind = N_Qualified_Expression
3943         or else NT (N).Nkind = N_Raise_Statement
3944         or else NT (N).Nkind = N_Return_Statement
3945         or else NT (N).Nkind = N_Type_Conversion
3946         or else NT (N).Nkind = N_Unchecked_Expression
3947         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3948       Set_Node3_With_Parent (N, Val);
3949    end Set_Expression;
3950
3951    procedure Set_Expressions
3952       (N : Node_Id; Val : List_Id) is
3953    begin
3954       pragma Assert (False
3955         or else NT (N).Nkind = N_Aggregate
3956         or else NT (N).Nkind = N_Attribute_Reference
3957         or else NT (N).Nkind = N_Conditional_Expression
3958         or else NT (N).Nkind = N_Extension_Aggregate
3959         or else NT (N).Nkind = N_Indexed_Component);
3960       Set_List1_With_Parent (N, Val);
3961    end Set_Expressions;
3962
3963    procedure Set_First_Bit
3964       (N : Node_Id; Val : Node_Id) is
3965    begin
3966       pragma Assert (False
3967         or else NT (N).Nkind = N_Component_Clause);
3968       Set_Node3_With_Parent (N, Val);
3969    end Set_First_Bit;
3970
3971    procedure Set_First_Inlined_Subprogram
3972       (N : Node_Id; Val : Entity_Id) is
3973    begin
3974       pragma Assert (False
3975         or else NT (N).Nkind = N_Compilation_Unit);
3976       Set_Node3 (N, Val);  -- semantic field, no parent set
3977    end Set_First_Inlined_Subprogram;
3978
3979    procedure Set_First_Name
3980       (N : Node_Id; Val : Boolean := True) is
3981    begin
3982       pragma Assert (False
3983         or else NT (N).Nkind = N_With_Clause);
3984       Set_Flag5 (N, Val);
3985    end Set_First_Name;
3986
3987    procedure Set_First_Named_Actual
3988       (N : Node_Id; Val : Node_Id) is
3989    begin
3990       pragma Assert (False
3991         or else NT (N).Nkind = N_Entry_Call_Statement
3992         or else NT (N).Nkind = N_Function_Call
3993         or else NT (N).Nkind = N_Procedure_Call_Statement);
3994       Set_Node4 (N, Val); -- semantic field, no parent set
3995    end Set_First_Named_Actual;
3996
3997    procedure Set_First_Real_Statement
3998       (N : Node_Id; Val : Node_Id) is
3999    begin
4000       pragma Assert (False
4001         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
4002       Set_Node2 (N, Val); -- semantic field, no parent set
4003    end Set_First_Real_Statement;
4004
4005    procedure Set_First_Subtype_Link
4006       (N : Node_Id; Val : Entity_Id) is
4007    begin
4008       pragma Assert (False
4009         or else NT (N).Nkind = N_Freeze_Entity);
4010       Set_Node5 (N, Val); -- semantic field, no parent set
4011    end Set_First_Subtype_Link;
4012
4013    procedure Set_Float_Truncate
4014       (N : Node_Id; Val : Boolean := True) is
4015    begin
4016       pragma Assert (False
4017         or else NT (N).Nkind = N_Type_Conversion);
4018       Set_Flag11 (N, Val);
4019    end Set_Float_Truncate;
4020
4021    procedure Set_Formal_Type_Definition
4022       (N : Node_Id; Val : Node_Id) is
4023    begin
4024       pragma Assert (False
4025         or else NT (N).Nkind = N_Formal_Type_Declaration);
4026       Set_Node3_With_Parent (N, Val);
4027    end Set_Formal_Type_Definition;
4028
4029    procedure Set_Forwards_OK
4030       (N : Node_Id; Val : Boolean := True) is
4031    begin
4032       pragma Assert (False
4033         or else NT (N).Nkind = N_Assignment_Statement);
4034       Set_Flag5 (N, Val);
4035    end Set_Forwards_OK;
4036
4037    procedure Set_From_At_End
4038       (N : Node_Id; Val : Boolean := True) is
4039    begin
4040       pragma Assert (False
4041         or else NT (N).Nkind = N_Raise_Statement);
4042       Set_Flag4 (N, Val);
4043    end Set_From_At_End;
4044
4045    procedure Set_From_At_Mod
4046       (N : Node_Id; Val : Boolean := True) is
4047    begin
4048       pragma Assert (False
4049         or else NT (N).Nkind = N_Attribute_Definition_Clause);
4050       Set_Flag4 (N, Val);
4051    end Set_From_At_Mod;
4052
4053    procedure Set_From_Default
4054       (N : Node_Id; Val : Boolean := True) is
4055    begin
4056       pragma Assert (False
4057         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4058       Set_Flag6 (N, Val);
4059    end Set_From_Default;
4060
4061    procedure Set_Generic_Associations
4062       (N : Node_Id; Val : List_Id) is
4063    begin
4064       pragma Assert (False
4065         or else NT (N).Nkind = N_Formal_Package_Declaration
4066         or else NT (N).Nkind = N_Function_Instantiation
4067         or else NT (N).Nkind = N_Package_Instantiation
4068         or else NT (N).Nkind = N_Procedure_Instantiation);
4069       Set_List3_With_Parent (N, Val);
4070    end Set_Generic_Associations;
4071
4072    procedure Set_Generic_Formal_Declarations
4073       (N : Node_Id; Val : List_Id) is
4074    begin
4075       pragma Assert (False
4076         or else NT (N).Nkind = N_Generic_Package_Declaration
4077         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
4078       Set_List2_With_Parent (N, Val);
4079    end Set_Generic_Formal_Declarations;
4080
4081    procedure Set_Generic_Parent
4082       (N : Node_Id; Val : Node_Id) is
4083    begin
4084       pragma Assert (False
4085         or else NT (N).Nkind = N_Function_Specification
4086         or else NT (N).Nkind = N_Package_Specification
4087         or else NT (N).Nkind = N_Procedure_Specification);
4088       Set_Node5 (N, Val);
4089    end Set_Generic_Parent;
4090
4091    procedure Set_Generic_Parent_Type
4092       (N : Node_Id; Val : Node_Id) is
4093    begin
4094       pragma Assert (False
4095         or else NT (N).Nkind = N_Subtype_Declaration);
4096       Set_Node4 (N, Val);
4097    end Set_Generic_Parent_Type;
4098
4099    procedure Set_Handled_Statement_Sequence
4100       (N : Node_Id; Val : Node_Id) is
4101    begin
4102       pragma Assert (False
4103         or else NT (N).Nkind = N_Accept_Statement
4104         or else NT (N).Nkind = N_Block_Statement
4105         or else NT (N).Nkind = N_Entry_Body
4106         or else NT (N).Nkind = N_Extended_Return_Statement
4107         or else NT (N).Nkind = N_Package_Body
4108         or else NT (N).Nkind = N_Subprogram_Body
4109         or else NT (N).Nkind = N_Task_Body);
4110       Set_Node4_With_Parent (N, Val);
4111    end Set_Handled_Statement_Sequence;
4112
4113    procedure Set_Handler_List_Entry
4114       (N : Node_Id; Val : Node_Id) is
4115    begin
4116       pragma Assert (False
4117         or else NT (N).Nkind = N_Object_Declaration);
4118       Set_Node2 (N, Val);
4119    end Set_Handler_List_Entry;
4120
4121    procedure Set_Has_Created_Identifier
4122       (N : Node_Id; Val : Boolean := True) is
4123    begin
4124       pragma Assert (False
4125         or else NT (N).Nkind = N_Block_Statement
4126         or else NT (N).Nkind = N_Loop_Statement);
4127       Set_Flag15 (N, Val);
4128    end Set_Has_Created_Identifier;
4129
4130    procedure Set_Has_Dynamic_Length_Check
4131       (N : Node_Id; Val : Boolean := True) is
4132    begin
4133       Set_Flag10 (N, Val);
4134    end Set_Has_Dynamic_Length_Check;
4135
4136    procedure Set_Has_Dynamic_Range_Check
4137       (N : Node_Id; Val : Boolean := True) is
4138    begin
4139       Set_Flag12 (N, Val);
4140    end Set_Has_Dynamic_Range_Check;
4141
4142    procedure Set_Has_Init_Expression
4143       (N : Node_Id; Val : Boolean := True) is
4144    begin
4145       pragma Assert (False
4146         or else NT (N).Nkind = N_Object_Declaration);
4147       Set_Flag14 (N, Val);
4148    end Set_Has_Init_Expression;
4149
4150    procedure Set_Has_Local_Raise
4151       (N : Node_Id; Val : Boolean := True) is
4152    begin
4153       pragma Assert (False
4154         or else NT (N).Nkind = N_Exception_Handler);
4155       Set_Flag8 (N, Val);
4156    end Set_Has_Local_Raise;
4157
4158    procedure Set_Has_No_Elaboration_Code
4159       (N : Node_Id; Val : Boolean := True) is
4160    begin
4161       pragma Assert (False
4162         or else NT (N).Nkind = N_Compilation_Unit);
4163       Set_Flag17 (N, Val);
4164    end Set_Has_No_Elaboration_Code;
4165
4166    procedure Set_Has_Priority_Pragma
4167       (N : Node_Id; Val : Boolean := True) is
4168    begin
4169       pragma Assert (False
4170         or else NT (N).Nkind = N_Protected_Definition
4171         or else NT (N).Nkind = N_Subprogram_Body
4172         or else NT (N).Nkind = N_Task_Definition);
4173       Set_Flag6 (N, Val);
4174    end Set_Has_Priority_Pragma;
4175
4176    procedure Set_Has_Private_View
4177       (N : Node_Id; Val : Boolean := True) is
4178    begin
4179       pragma Assert (False
4180        or else NT (N).Nkind in N_Op
4181        or else NT (N).Nkind = N_Character_Literal
4182        or else NT (N).Nkind = N_Expanded_Name
4183        or else NT (N).Nkind = N_Identifier
4184        or else NT (N).Nkind = N_Operator_Symbol);
4185       Set_Flag11 (N, Val);
4186    end Set_Has_Private_View;
4187
4188    procedure Set_Has_Relative_Deadline_Pragma
4189       (N : Node_Id; Val : Boolean := True) is
4190    begin
4191       pragma Assert (False
4192         or else NT (N).Nkind = N_Subprogram_Body
4193         or else NT (N).Nkind = N_Task_Definition);
4194       Set_Flag9 (N, Val);
4195    end Set_Has_Relative_Deadline_Pragma;
4196
4197    procedure Set_Has_Self_Reference
4198       (N : Node_Id; Val : Boolean := True) is
4199    begin
4200       pragma Assert (False
4201         or else NT (N).Nkind = N_Aggregate
4202         or else NT (N).Nkind = N_Extension_Aggregate);
4203       Set_Flag13 (N, Val);
4204    end Set_Has_Self_Reference;
4205
4206    procedure Set_Has_Storage_Size_Pragma
4207       (N : Node_Id; Val : Boolean := True) is
4208    begin
4209       pragma Assert (False
4210         or else NT (N).Nkind = N_Task_Definition);
4211       Set_Flag5 (N, Val);
4212    end Set_Has_Storage_Size_Pragma;
4213
4214    procedure Set_Has_Task_Info_Pragma
4215       (N : Node_Id; Val : Boolean := True) is
4216    begin
4217       pragma Assert (False
4218         or else NT (N).Nkind = N_Task_Definition);
4219       Set_Flag7 (N, Val);
4220    end Set_Has_Task_Info_Pragma;
4221
4222    procedure Set_Has_Task_Name_Pragma
4223       (N : Node_Id; Val : Boolean := True) is
4224    begin
4225       pragma Assert (False
4226         or else NT (N).Nkind = N_Task_Definition);
4227       Set_Flag8 (N, Val);
4228    end Set_Has_Task_Name_Pragma;
4229
4230    procedure Set_Has_Wide_Character
4231       (N : Node_Id; Val : Boolean := True) is
4232    begin
4233       pragma Assert (False
4234         or else NT (N).Nkind = N_String_Literal);
4235       Set_Flag11 (N, Val);
4236    end Set_Has_Wide_Character;
4237
4238    procedure Set_Hidden_By_Use_Clause
4239      (N : Node_Id; Val : Elist_Id) is
4240    begin
4241       pragma Assert (False
4242         or else NT (N).Nkind = N_Use_Package_Clause
4243         or else NT (N).Nkind = N_Use_Type_Clause);
4244       Set_Elist4 (N, Val);
4245    end Set_Hidden_By_Use_Clause;
4246
4247    procedure Set_High_Bound
4248       (N : Node_Id; Val : Node_Id) is
4249    begin
4250       pragma Assert (False
4251         or else NT (N).Nkind = N_Range
4252         or else NT (N).Nkind = N_Real_Range_Specification
4253         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4254       Set_Node2_With_Parent (N, Val);
4255    end Set_High_Bound;
4256
4257    procedure Set_Identifier
4258       (N : Node_Id; Val : Node_Id) is
4259    begin
4260       pragma Assert (False
4261         or else NT (N).Nkind = N_At_Clause
4262         or else NT (N).Nkind = N_Block_Statement
4263         or else NT (N).Nkind = N_Designator
4264         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4265         or else NT (N).Nkind = N_Label
4266         or else NT (N).Nkind = N_Loop_Statement
4267         or else NT (N).Nkind = N_Record_Representation_Clause
4268         or else NT (N).Nkind = N_Subprogram_Info);
4269       Set_Node1_With_Parent (N, Val);
4270    end Set_Identifier;
4271
4272    procedure Set_Implicit_With
4273       (N : Node_Id; Val : Boolean := True) is
4274    begin
4275       pragma Assert (False
4276         or else NT (N).Nkind = N_With_Clause);
4277       Set_Flag16 (N, Val);
4278    end Set_Implicit_With;
4279
4280    procedure Set_Interface_List
4281       (N : Node_Id; Val : List_Id) is
4282    begin
4283       pragma Assert (False
4284         or else NT (N).Nkind = N_Derived_Type_Definition
4285         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4286         or else NT (N).Nkind = N_Private_Extension_Declaration
4287         or else NT (N).Nkind = N_Protected_Type_Declaration
4288         or else NT (N).Nkind = N_Record_Definition
4289         or else NT (N).Nkind = N_Single_Protected_Declaration
4290         or else NT (N).Nkind = N_Single_Task_Declaration
4291         or else NT (N).Nkind = N_Task_Type_Declaration);
4292       Set_List2_With_Parent (N, Val);
4293    end Set_Interface_List;
4294
4295    procedure Set_Interface_Present
4296       (N : Node_Id; Val : Boolean := True) is
4297    begin
4298       pragma Assert (False
4299         or else NT (N).Nkind = N_Derived_Type_Definition
4300         or else NT (N).Nkind = N_Record_Definition);
4301       Set_Flag16 (N, Val);
4302    end Set_Interface_Present;
4303
4304    procedure Set_In_Present
4305       (N : Node_Id; Val : Boolean := True) is
4306    begin
4307       pragma Assert (False
4308         or else NT (N).Nkind = N_Formal_Object_Declaration
4309         or else NT (N).Nkind = N_Parameter_Specification);
4310       Set_Flag15 (N, Val);
4311    end Set_In_Present;
4312
4313    procedure Set_Includes_Infinities
4314       (N : Node_Id; Val : Boolean := True) is
4315    begin
4316       pragma Assert (False
4317         or else NT (N).Nkind = N_Range);
4318       Set_Flag11 (N, Val);
4319    end Set_Includes_Infinities;
4320
4321    procedure Set_Instance_Spec
4322       (N : Node_Id; Val : Node_Id) is
4323    begin
4324       pragma Assert (False
4325         or else NT (N).Nkind = N_Formal_Package_Declaration
4326         or else NT (N).Nkind = N_Function_Instantiation
4327         or else NT (N).Nkind = N_Package_Instantiation
4328         or else NT (N).Nkind = N_Procedure_Instantiation);
4329       Set_Node5 (N, Val); -- semantic field, no Parent set
4330    end Set_Instance_Spec;
4331
4332    procedure Set_Intval
4333       (N : Node_Id; Val : Uint) is
4334    begin
4335       pragma Assert (False
4336         or else NT (N).Nkind = N_Integer_Literal);
4337       Set_Uint3 (N, Val);
4338    end Set_Intval;
4339
4340    procedure Set_Is_Asynchronous_Call_Block
4341       (N : Node_Id; Val : Boolean := True) is
4342    begin
4343       pragma Assert (False
4344         or else NT (N).Nkind = N_Block_Statement);
4345       Set_Flag7 (N, Val);
4346    end Set_Is_Asynchronous_Call_Block;
4347
4348    procedure Set_Is_Component_Left_Opnd
4349       (N : Node_Id; Val : Boolean := True) is
4350    begin
4351       pragma Assert (False
4352         or else NT (N).Nkind = N_Op_Concat);
4353       Set_Flag13 (N, Val);
4354    end Set_Is_Component_Left_Opnd;
4355
4356    procedure Set_Is_Component_Right_Opnd
4357       (N : Node_Id; Val : Boolean := True) is
4358    begin
4359       pragma Assert (False
4360         or else NT (N).Nkind = N_Op_Concat);
4361       Set_Flag14 (N, Val);
4362    end Set_Is_Component_Right_Opnd;
4363
4364    procedure Set_Is_Controlling_Actual
4365       (N : Node_Id; Val : Boolean := True) is
4366    begin
4367       pragma Assert (False
4368         or else NT (N).Nkind in N_Subexpr);
4369       Set_Flag16 (N, Val);
4370    end Set_Is_Controlling_Actual;
4371
4372    procedure Set_Is_Dynamic_Coextension
4373       (N : Node_Id; Val : Boolean := True) is
4374    begin
4375       pragma Assert (False
4376         or else NT (N).Nkind = N_Allocator);
4377       Set_Flag18 (N, Val);
4378    end Set_Is_Dynamic_Coextension;
4379
4380    procedure Set_Is_Entry_Barrier_Function
4381       (N : Node_Id; Val : Boolean := True) is
4382    begin
4383       pragma Assert (False
4384         or else NT (N).Nkind = N_Subprogram_Body);
4385       Set_Flag8 (N, Val);
4386    end Set_Is_Entry_Barrier_Function;
4387
4388    procedure Set_Is_Expanded_Build_In_Place_Call
4389       (N : Node_Id; Val : Boolean := True) is
4390    begin
4391       pragma Assert (False
4392         or else NT (N).Nkind = N_Function_Call);
4393       Set_Flag11 (N, Val);
4394    end Set_Is_Expanded_Build_In_Place_Call;
4395
4396    procedure Set_Is_Folded_In_Parser
4397       (N : Node_Id; Val : Boolean := True) is
4398    begin
4399       pragma Assert (False
4400         or else NT (N).Nkind = N_String_Literal);
4401       Set_Flag4 (N, Val);
4402    end Set_Is_Folded_In_Parser;
4403
4404    procedure Set_Is_In_Discriminant_Check
4405       (N : Node_Id; Val : Boolean := True) is
4406    begin
4407       pragma Assert (False
4408         or else NT (N).Nkind = N_Selected_Component);
4409       Set_Flag11 (N, Val);
4410    end Set_Is_In_Discriminant_Check;
4411
4412    procedure Set_Is_Machine_Number
4413       (N : Node_Id; Val : Boolean := True) is
4414    begin
4415       pragma Assert (False
4416         or else NT (N).Nkind = N_Real_Literal);
4417       Set_Flag11 (N, Val);
4418    end Set_Is_Machine_Number;
4419
4420    procedure Set_Is_Null_Loop
4421       (N : Node_Id; Val : Boolean := True) is
4422    begin
4423       pragma Assert (False
4424         or else NT (N).Nkind = N_Loop_Statement);
4425       Set_Flag16 (N, Val);
4426    end Set_Is_Null_Loop;
4427
4428    procedure Set_Is_Overloaded
4429       (N : Node_Id; Val : Boolean := True) is
4430    begin
4431       pragma Assert (False
4432         or else NT (N).Nkind in N_Subexpr);
4433       Set_Flag5 (N, Val);
4434    end Set_Is_Overloaded;
4435
4436    procedure Set_Is_Power_Of_2_For_Shift
4437       (N : Node_Id; Val : Boolean := True) is
4438    begin
4439       pragma Assert (False
4440         or else NT (N).Nkind = N_Op_Expon);
4441       Set_Flag13 (N, Val);
4442    end Set_Is_Power_Of_2_For_Shift;
4443
4444    procedure Set_Is_Protected_Subprogram_Body
4445       (N : Node_Id; Val : Boolean := True) is
4446    begin
4447       pragma Assert (False
4448         or else NT (N).Nkind = N_Subprogram_Body);
4449       Set_Flag7 (N, Val);
4450    end Set_Is_Protected_Subprogram_Body;
4451
4452    procedure Set_Is_Static_Coextension
4453       (N : Node_Id; Val : Boolean := True) is
4454    begin
4455       pragma Assert (False
4456         or else NT (N).Nkind = N_Allocator);
4457       Set_Flag14 (N, Val);
4458    end Set_Is_Static_Coextension;
4459
4460    procedure Set_Is_Static_Expression
4461       (N : Node_Id; Val : Boolean := True) is
4462    begin
4463       pragma Assert (False
4464         or else NT (N).Nkind in N_Subexpr);
4465       Set_Flag6 (N, Val);
4466    end Set_Is_Static_Expression;
4467
4468    procedure Set_Is_Subprogram_Descriptor
4469       (N : Node_Id; Val : Boolean := True) is
4470    begin
4471       pragma Assert (False
4472         or else NT (N).Nkind = N_Object_Declaration);
4473       Set_Flag16 (N, Val);
4474    end Set_Is_Subprogram_Descriptor;
4475
4476    procedure Set_Is_Task_Allocation_Block
4477       (N : Node_Id; Val : Boolean := True) is
4478    begin
4479       pragma Assert (False
4480         or else NT (N).Nkind = N_Block_Statement);
4481       Set_Flag6 (N, Val);
4482    end Set_Is_Task_Allocation_Block;
4483
4484    procedure Set_Is_Task_Master
4485       (N : Node_Id; Val : Boolean := True) is
4486    begin
4487       pragma Assert (False
4488         or else NT (N).Nkind = N_Block_Statement
4489         or else NT (N).Nkind = N_Subprogram_Body
4490         or else NT (N).Nkind = N_Task_Body);
4491       Set_Flag5 (N, Val);
4492    end Set_Is_Task_Master;
4493
4494    procedure Set_Iteration_Scheme
4495       (N : Node_Id; Val : Node_Id) is
4496    begin
4497       pragma Assert (False
4498         or else NT (N).Nkind = N_Loop_Statement);
4499       Set_Node2_With_Parent (N, Val);
4500    end Set_Iteration_Scheme;
4501
4502    procedure Set_Itype
4503       (N : Node_Id; Val : Entity_Id) is
4504    begin
4505       pragma Assert (False
4506       or else NT (N).Nkind = N_Itype_Reference);
4507       Set_Node1 (N, Val); -- no parent, semantic field
4508    end Set_Itype;
4509
4510    procedure Set_Kill_Range_Check
4511       (N : Node_Id; Val : Boolean := True) is
4512    begin
4513       pragma Assert (False
4514         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4515       Set_Flag11 (N, Val);
4516    end Set_Kill_Range_Check;
4517
4518    procedure Set_Label_Construct
4519       (N : Node_Id; Val : Node_Id) is
4520    begin
4521       pragma Assert (False
4522         or else NT (N).Nkind = N_Implicit_Label_Declaration);
4523       Set_Node2 (N, Val); -- semantic field, no parent set
4524    end Set_Label_Construct;
4525
4526    procedure Set_Last_Bit
4527       (N : Node_Id; Val : Node_Id) is
4528    begin
4529       pragma Assert (False
4530         or else NT (N).Nkind = N_Component_Clause);
4531       Set_Node4_With_Parent (N, Val);
4532    end Set_Last_Bit;
4533
4534    procedure Set_Last_Name
4535       (N : Node_Id; Val : Boolean := True) is
4536    begin
4537       pragma Assert (False
4538         or else NT (N).Nkind = N_With_Clause);
4539       Set_Flag6 (N, Val);
4540    end Set_Last_Name;
4541
4542    procedure Set_Left_Opnd
4543       (N : Node_Id; Val : Node_Id) is
4544    begin
4545       pragma Assert (False
4546         or else NT (N).Nkind = N_And_Then
4547         or else NT (N).Nkind = N_In
4548         or else NT (N).Nkind = N_Not_In
4549         or else NT (N).Nkind = N_Or_Else
4550         or else NT (N).Nkind in N_Binary_Op);
4551       Set_Node2_With_Parent (N, Val);
4552    end Set_Left_Opnd;
4553
4554    procedure Set_Library_Unit
4555       (N : Node_Id; Val : Node_Id) is
4556    begin
4557       pragma Assert (False
4558         or else NT (N).Nkind = N_Compilation_Unit
4559         or else NT (N).Nkind = N_Package_Body_Stub
4560         or else NT (N).Nkind = N_Protected_Body_Stub
4561         or else NT (N).Nkind = N_Subprogram_Body_Stub
4562         or else NT (N).Nkind = N_Task_Body_Stub
4563         or else NT (N).Nkind = N_With_Clause);
4564       Set_Node4 (N, Val); -- semantic field, no parent set
4565    end Set_Library_Unit;
4566
4567    procedure Set_Limited_View_Installed
4568       (N : Node_Id; Val : Boolean := True) is
4569    begin
4570       pragma Assert (False
4571         or else NT (N).Nkind = N_Package_Specification
4572         or else NT (N).Nkind = N_With_Clause);
4573       Set_Flag18 (N, Val);
4574    end Set_Limited_View_Installed;
4575
4576    procedure Set_Limited_Present
4577       (N : Node_Id; Val : Boolean := True) is
4578    begin
4579       pragma Assert (False
4580         or else NT (N).Nkind = N_Derived_Type_Definition
4581         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4582         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4583         or else NT (N).Nkind = N_Private_Extension_Declaration
4584         or else NT (N).Nkind = N_Private_Type_Declaration
4585         or else NT (N).Nkind = N_Record_Definition
4586         or else NT (N).Nkind = N_With_Clause);
4587       Set_Flag17 (N, Val);
4588    end Set_Limited_Present;
4589
4590    procedure Set_Literals
4591       (N : Node_Id; Val : List_Id) is
4592    begin
4593       pragma Assert (False
4594         or else NT (N).Nkind = N_Enumeration_Type_Definition);
4595       Set_List1_With_Parent (N, Val);
4596    end Set_Literals;
4597
4598    procedure Set_Local_Raise_Not_OK
4599       (N : Node_Id; Val : Boolean := True) is
4600    begin
4601       pragma Assert (False
4602         or else NT (N).Nkind = N_Exception_Handler);
4603       Set_Flag7 (N, Val);
4604    end Set_Local_Raise_Not_OK;
4605
4606    procedure Set_Local_Raise_Statements
4607       (N : Node_Id; Val : Elist_Id) is
4608    begin
4609       pragma Assert (False
4610         or else NT (N).Nkind = N_Exception_Handler);
4611       Set_Elist1 (N, Val);
4612    end Set_Local_Raise_Statements;
4613
4614    procedure Set_Loop_Actions
4615       (N : Node_Id; Val : List_Id) is
4616    begin
4617       pragma Assert (False
4618         or else NT (N).Nkind = N_Component_Association);
4619       Set_List2 (N, Val); -- semantic field, no parent set
4620    end Set_Loop_Actions;
4621
4622    procedure Set_Loop_Parameter_Specification
4623       (N : Node_Id; Val : Node_Id) is
4624    begin
4625       pragma Assert (False
4626         or else NT (N).Nkind = N_Iteration_Scheme);
4627       Set_Node4_With_Parent (N, Val);
4628    end Set_Loop_Parameter_Specification;
4629
4630    procedure Set_Low_Bound
4631       (N : Node_Id; Val : Node_Id) is
4632    begin
4633       pragma Assert (False
4634         or else NT (N).Nkind = N_Range
4635         or else NT (N).Nkind = N_Real_Range_Specification
4636         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4637       Set_Node1_With_Parent (N, Val);
4638    end Set_Low_Bound;
4639
4640    procedure Set_Mod_Clause
4641       (N : Node_Id; Val : Node_Id) is
4642    begin
4643       pragma Assert (False
4644         or else NT (N).Nkind = N_Record_Representation_Clause);
4645       Set_Node2_With_Parent (N, Val);
4646    end Set_Mod_Clause;
4647
4648    procedure Set_More_Ids
4649       (N : Node_Id; Val : Boolean := True) is
4650    begin
4651       pragma Assert (False
4652         or else NT (N).Nkind = N_Component_Declaration
4653         or else NT (N).Nkind = N_Discriminant_Specification
4654         or else NT (N).Nkind = N_Exception_Declaration
4655         or else NT (N).Nkind = N_Formal_Object_Declaration
4656         or else NT (N).Nkind = N_Number_Declaration
4657         or else NT (N).Nkind = N_Object_Declaration
4658         or else NT (N).Nkind = N_Parameter_Specification);
4659       Set_Flag5 (N, Val);
4660    end Set_More_Ids;
4661
4662    procedure Set_Must_Be_Byte_Aligned
4663       (N : Node_Id; Val : Boolean := True) is
4664    begin
4665       pragma Assert (False
4666         or else NT (N).Nkind = N_Attribute_Reference);
4667       Set_Flag14 (N, Val);
4668    end Set_Must_Be_Byte_Aligned;
4669
4670    procedure Set_Must_Not_Freeze
4671       (N : Node_Id; Val : Boolean := True) is
4672    begin
4673       pragma Assert (False
4674         or else NT (N).Nkind = N_Subtype_Indication
4675         or else NT (N).Nkind in N_Subexpr);
4676       Set_Flag8 (N, Val);
4677    end Set_Must_Not_Freeze;
4678
4679    procedure Set_Must_Not_Override
4680       (N : Node_Id; Val : Boolean := True) is
4681    begin
4682       pragma Assert (False
4683         or else NT (N).Nkind = N_Entry_Declaration
4684         or else NT (N).Nkind = N_Function_Instantiation
4685         or else NT (N).Nkind = N_Function_Specification
4686         or else NT (N).Nkind = N_Procedure_Instantiation
4687         or else NT (N).Nkind = N_Procedure_Specification);
4688       Set_Flag15 (N, Val);
4689    end Set_Must_Not_Override;
4690
4691    procedure Set_Must_Override
4692       (N : Node_Id; Val : Boolean := True) is
4693    begin
4694       pragma Assert (False
4695         or else NT (N).Nkind = N_Entry_Declaration
4696         or else NT (N).Nkind = N_Function_Instantiation
4697         or else NT (N).Nkind = N_Function_Specification
4698         or else NT (N).Nkind = N_Procedure_Instantiation
4699         or else NT (N).Nkind = N_Procedure_Specification);
4700       Set_Flag14 (N, Val);
4701    end Set_Must_Override;
4702
4703    procedure Set_Name
4704       (N : Node_Id; Val : Node_Id) is
4705    begin
4706       pragma Assert (False
4707         or else NT (N).Nkind = N_Assignment_Statement
4708         or else NT (N).Nkind = N_Attribute_Definition_Clause
4709         or else NT (N).Nkind = N_Defining_Program_Unit_Name
4710         or else NT (N).Nkind = N_Designator
4711         or else NT (N).Nkind = N_Entry_Call_Statement
4712         or else NT (N).Nkind = N_Exception_Renaming_Declaration
4713         or else NT (N).Nkind = N_Exit_Statement
4714         or else NT (N).Nkind = N_Formal_Package_Declaration
4715         or else NT (N).Nkind = N_Function_Call
4716         or else NT (N).Nkind = N_Function_Instantiation
4717         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4718         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4719         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4720         or else NT (N).Nkind = N_Goto_Statement
4721         or else NT (N).Nkind = N_Object_Renaming_Declaration
4722         or else NT (N).Nkind = N_Package_Instantiation
4723         or else NT (N).Nkind = N_Package_Renaming_Declaration
4724         or else NT (N).Nkind = N_Procedure_Call_Statement
4725         or else NT (N).Nkind = N_Procedure_Instantiation
4726         or else NT (N).Nkind = N_Raise_Statement
4727         or else NT (N).Nkind = N_Requeue_Statement
4728         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4729         or else NT (N).Nkind = N_Subunit
4730         or else NT (N).Nkind = N_Variant_Part
4731         or else NT (N).Nkind = N_With_Clause);
4732       Set_Node2_With_Parent (N, Val);
4733    end Set_Name;
4734
4735    procedure Set_Names
4736       (N : Node_Id; Val : List_Id) is
4737    begin
4738       pragma Assert (False
4739         or else NT (N).Nkind = N_Abort_Statement
4740         or else NT (N).Nkind = N_Use_Package_Clause);
4741       Set_List2_With_Parent (N, Val);
4742    end Set_Names;
4743
4744    procedure Set_Next_Entity
4745       (N : Node_Id; Val : Node_Id) is
4746    begin
4747       pragma Assert (False
4748         or else NT (N).Nkind = N_Defining_Character_Literal
4749         or else NT (N).Nkind = N_Defining_Identifier
4750         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4751       Set_Node2 (N, Val); -- semantic field, no parent set
4752    end Set_Next_Entity;
4753
4754    procedure Set_Next_Named_Actual
4755       (N : Node_Id; Val : Node_Id) is
4756    begin
4757       pragma Assert (False
4758         or else NT (N).Nkind = N_Parameter_Association);
4759       Set_Node4 (N, Val); -- semantic field, no parent set
4760    end Set_Next_Named_Actual;
4761
4762    procedure Set_Next_Pragma
4763       (N : Node_Id; Val : Node_Id) is
4764    begin
4765       pragma Assert (False
4766         or else NT (N).Nkind = N_Pragma);
4767       Set_Node1 (N, Val); -- semantic field, no parent set
4768    end Set_Next_Pragma;
4769
4770    procedure Set_Next_Rep_Item
4771       (N : Node_Id; Val : Node_Id) is
4772    begin
4773       pragma Assert (False
4774         or else NT (N).Nkind = N_Attribute_Definition_Clause
4775         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4776         or else NT (N).Nkind = N_Pragma
4777         or else NT (N).Nkind = N_Record_Representation_Clause);
4778       Set_Node5 (N, Val); -- semantic field, no parent set
4779    end Set_Next_Rep_Item;
4780
4781    procedure Set_Next_Use_Clause
4782       (N : Node_Id; Val : Node_Id) is
4783    begin
4784       pragma Assert (False
4785         or else NT (N).Nkind = N_Use_Package_Clause
4786         or else NT (N).Nkind = N_Use_Type_Clause);
4787       Set_Node3 (N, Val); -- semantic field, no parent set
4788    end Set_Next_Use_Clause;
4789
4790    procedure Set_No_Ctrl_Actions
4791       (N : Node_Id; Val : Boolean := True) is
4792    begin
4793       pragma Assert (False
4794         or else NT (N).Nkind = N_Assignment_Statement);
4795       Set_Flag7 (N, Val);
4796    end Set_No_Ctrl_Actions;
4797
4798    procedure Set_No_Elaboration_Check
4799       (N : Node_Id; Val : Boolean := True) is
4800    begin
4801       pragma Assert (False
4802         or else NT (N).Nkind = N_Function_Call
4803         or else NT (N).Nkind = N_Procedure_Call_Statement);
4804       Set_Flag14 (N, Val);
4805    end Set_No_Elaboration_Check;
4806
4807    procedure Set_No_Entities_Ref_In_Spec
4808       (N : Node_Id; Val : Boolean := True) is
4809    begin
4810       pragma Assert (False
4811         or else NT (N).Nkind = N_With_Clause);
4812       Set_Flag8 (N, Val);
4813    end Set_No_Entities_Ref_In_Spec;
4814
4815    procedure Set_No_Initialization
4816       (N : Node_Id; Val : Boolean := True) is
4817    begin
4818       pragma Assert (False
4819         or else NT (N).Nkind = N_Allocator
4820         or else NT (N).Nkind = N_Object_Declaration);
4821       Set_Flag13 (N, Val);
4822    end Set_No_Initialization;
4823
4824    procedure Set_No_Truncation
4825       (N : Node_Id; Val : Boolean := True) is
4826    begin
4827       pragma Assert (False
4828         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4829       Set_Flag17 (N, Val);
4830    end Set_No_Truncation;
4831
4832    procedure Set_Null_Present
4833       (N : Node_Id; Val : Boolean := True) is
4834    begin
4835       pragma Assert (False
4836         or else NT (N).Nkind = N_Component_List
4837         or else NT (N).Nkind = N_Procedure_Specification
4838         or else NT (N).Nkind = N_Record_Definition);
4839       Set_Flag13 (N, Val);
4840    end Set_Null_Present;
4841
4842    procedure Set_Null_Exclusion_Present
4843       (N : Node_Id; Val : Boolean := True) is
4844    begin
4845       pragma Assert (False
4846         or else NT (N).Nkind = N_Access_Definition
4847         or else NT (N).Nkind = N_Access_Function_Definition
4848         or else NT (N).Nkind = N_Access_Procedure_Definition
4849         or else NT (N).Nkind = N_Access_To_Object_Definition
4850         or else NT (N).Nkind = N_Allocator
4851         or else NT (N).Nkind = N_Component_Definition
4852         or else NT (N).Nkind = N_Derived_Type_Definition
4853         or else NT (N).Nkind = N_Discriminant_Specification
4854         or else NT (N).Nkind = N_Formal_Object_Declaration
4855         or else NT (N).Nkind = N_Function_Specification
4856         or else NT (N).Nkind = N_Object_Declaration
4857         or else NT (N).Nkind = N_Object_Renaming_Declaration
4858         or else NT (N).Nkind = N_Parameter_Specification
4859         or else NT (N).Nkind = N_Subtype_Declaration);
4860       Set_Flag11 (N, Val);
4861    end Set_Null_Exclusion_Present;
4862
4863    procedure Set_Null_Record_Present
4864       (N : Node_Id; Val : Boolean := True) is
4865    begin
4866       pragma Assert (False
4867         or else NT (N).Nkind = N_Aggregate
4868         or else NT (N).Nkind = N_Extension_Aggregate);
4869       Set_Flag17 (N, Val);
4870    end Set_Null_Record_Present;
4871
4872    procedure Set_Object_Definition
4873       (N : Node_Id; Val : Node_Id) is
4874    begin
4875       pragma Assert (False
4876         or else NT (N).Nkind = N_Object_Declaration);
4877       Set_Node4_With_Parent (N, Val);
4878    end Set_Object_Definition;
4879
4880    procedure Set_Original_Discriminant
4881       (N : Node_Id; Val : Node_Id) is
4882    begin
4883       pragma Assert (False
4884         or else NT (N).Nkind = N_Identifier);
4885       Set_Node2 (N, Val); -- semantic field, no parent set
4886    end Set_Original_Discriminant;
4887
4888    procedure Set_Original_Entity
4889       (N : Node_Id; Val : Entity_Id) is
4890    begin
4891       pragma Assert (False
4892         or else NT (N).Nkind = N_Integer_Literal
4893         or else NT (N).Nkind = N_Real_Literal);
4894       Set_Node2 (N, Val); --  semantic field, no parent set
4895    end Set_Original_Entity;
4896
4897    procedure Set_Others_Discrete_Choices
4898       (N : Node_Id; Val : List_Id) is
4899    begin
4900       pragma Assert (False
4901         or else NT (N).Nkind = N_Others_Choice);
4902       Set_List1_With_Parent (N, Val);
4903    end Set_Others_Discrete_Choices;
4904
4905    procedure Set_Out_Present
4906       (N : Node_Id; Val : Boolean := True) is
4907    begin
4908       pragma Assert (False
4909         or else NT (N).Nkind = N_Formal_Object_Declaration
4910         or else NT (N).Nkind = N_Parameter_Specification);
4911       Set_Flag17 (N, Val);
4912    end Set_Out_Present;
4913
4914    procedure Set_Parameter_Associations
4915       (N : Node_Id; Val : List_Id) is
4916    begin
4917       pragma Assert (False
4918         or else NT (N).Nkind = N_Entry_Call_Statement
4919         or else NT (N).Nkind = N_Function_Call
4920         or else NT (N).Nkind = N_Procedure_Call_Statement);
4921       Set_List3_With_Parent (N, Val);
4922    end Set_Parameter_Associations;
4923
4924    procedure Set_Parameter_List_Truncated
4925       (N : Node_Id; Val : Boolean := True) is
4926    begin
4927       pragma Assert (False
4928         or else NT (N).Nkind = N_Function_Call
4929         or else NT (N).Nkind = N_Procedure_Call_Statement);
4930       Set_Flag17 (N, Val);
4931    end Set_Parameter_List_Truncated;
4932
4933    procedure Set_Parameter_Specifications
4934       (N : Node_Id; Val : List_Id) is
4935    begin
4936       pragma Assert (False
4937         or else NT (N).Nkind = N_Accept_Statement
4938         or else NT (N).Nkind = N_Access_Function_Definition
4939         or else NT (N).Nkind = N_Access_Procedure_Definition
4940         or else NT (N).Nkind = N_Entry_Body_Formal_Part
4941         or else NT (N).Nkind = N_Entry_Declaration
4942         or else NT (N).Nkind = N_Function_Specification
4943         or else NT (N).Nkind = N_Procedure_Specification);
4944       Set_List3_With_Parent (N, Val);
4945    end Set_Parameter_Specifications;
4946
4947    procedure Set_Parameter_Type
4948       (N : Node_Id; Val : Node_Id) is
4949    begin
4950       pragma Assert (False
4951         or else NT (N).Nkind = N_Parameter_Specification);
4952       Set_Node2_With_Parent (N, Val);
4953    end Set_Parameter_Type;
4954
4955    procedure Set_Parent_Spec
4956       (N : Node_Id; Val : Node_Id) is
4957    begin
4958       pragma Assert (False
4959         or else NT (N).Nkind = N_Function_Instantiation
4960         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4961         or else NT (N).Nkind = N_Generic_Package_Declaration
4962         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4963         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4964         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4965         or else NT (N).Nkind = N_Package_Declaration
4966         or else NT (N).Nkind = N_Package_Instantiation
4967         or else NT (N).Nkind = N_Package_Renaming_Declaration
4968         or else NT (N).Nkind = N_Procedure_Instantiation
4969         or else NT (N).Nkind = N_Subprogram_Declaration
4970         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4971       Set_Node4 (N, Val); -- semantic field, no parent set
4972    end Set_Parent_Spec;
4973
4974    procedure Set_PPC_Enabled
4975      (N : Node_Id; Val : Boolean := True) is
4976    begin
4977       pragma Assert (False
4978         or else NT (N).Nkind = N_Pragma);
4979       Set_Flag5 (N, Val);
4980    end Set_PPC_Enabled;
4981
4982    procedure Set_Position
4983       (N : Node_Id; Val : Node_Id) is
4984    begin
4985       pragma Assert (False
4986         or else NT (N).Nkind = N_Component_Clause);
4987       Set_Node2_With_Parent (N, Val);
4988    end Set_Position;
4989
4990    procedure Set_Pragma_Argument_Associations
4991       (N : Node_Id; Val : List_Id) is
4992    begin
4993       pragma Assert (False
4994         or else NT (N).Nkind = N_Pragma);
4995       Set_List2_With_Parent (N, Val);
4996    end Set_Pragma_Argument_Associations;
4997
4998    procedure Set_Pragma_Identifier
4999       (N : Node_Id; Val : Node_Id) is
5000    begin
5001       pragma Assert (False
5002         or else NT (N).Nkind = N_Pragma);
5003       Set_Node4_With_Parent (N, Val);
5004    end Set_Pragma_Identifier;
5005
5006    procedure Set_Pragmas_After
5007       (N : Node_Id; Val : List_Id) is
5008    begin
5009       pragma Assert (False
5010         or else NT (N).Nkind = N_Compilation_Unit_Aux
5011         or else NT (N).Nkind = N_Terminate_Alternative);
5012       Set_List5_With_Parent (N, Val);
5013    end Set_Pragmas_After;
5014
5015    procedure Set_Pragmas_Before
5016       (N : Node_Id; Val : List_Id) is
5017    begin
5018       pragma Assert (False
5019         or else NT (N).Nkind = N_Accept_Alternative
5020         or else NT (N).Nkind = N_Delay_Alternative
5021         or else NT (N).Nkind = N_Entry_Call_Alternative
5022         or else NT (N).Nkind = N_Mod_Clause
5023         or else NT (N).Nkind = N_Terminate_Alternative
5024         or else NT (N).Nkind = N_Triggering_Alternative);
5025       Set_List4_With_Parent (N, Val);
5026    end Set_Pragmas_Before;
5027
5028    procedure Set_Prefix
5029       (N : Node_Id; Val : Node_Id) is
5030    begin
5031       pragma Assert (False
5032         or else NT (N).Nkind = N_Attribute_Reference
5033         or else NT (N).Nkind = N_Expanded_Name
5034         or else NT (N).Nkind = N_Explicit_Dereference
5035         or else NT (N).Nkind = N_Indexed_Component
5036         or else NT (N).Nkind = N_Reference
5037         or else NT (N).Nkind = N_Selected_Component
5038         or else NT (N).Nkind = N_Slice);
5039       Set_Node3_With_Parent (N, Val);
5040    end Set_Prefix;
5041
5042    procedure Set_Present_Expr
5043       (N : Node_Id; Val : Uint) is
5044    begin
5045       pragma Assert (False
5046         or else NT (N).Nkind = N_Variant);
5047       Set_Uint3 (N, Val);
5048    end Set_Present_Expr;
5049
5050    procedure Set_Prev_Ids
5051       (N : Node_Id; Val : Boolean := True) is
5052    begin
5053       pragma Assert (False
5054         or else NT (N).Nkind = N_Component_Declaration
5055         or else NT (N).Nkind = N_Discriminant_Specification
5056         or else NT (N).Nkind = N_Exception_Declaration
5057         or else NT (N).Nkind = N_Formal_Object_Declaration
5058         or else NT (N).Nkind = N_Number_Declaration
5059         or else NT (N).Nkind = N_Object_Declaration
5060         or else NT (N).Nkind = N_Parameter_Specification);
5061       Set_Flag6 (N, Val);
5062    end Set_Prev_Ids;
5063
5064    procedure Set_Print_In_Hex
5065       (N : Node_Id; Val : Boolean := True) is
5066    begin
5067       pragma Assert (False
5068         or else NT (N).Nkind = N_Integer_Literal);
5069       Set_Flag13 (N, Val);
5070    end Set_Print_In_Hex;
5071
5072    procedure Set_Private_Declarations
5073       (N : Node_Id; Val : List_Id) is
5074    begin
5075       pragma Assert (False
5076         or else NT (N).Nkind = N_Package_Specification
5077         or else NT (N).Nkind = N_Protected_Definition
5078         or else NT (N).Nkind = N_Task_Definition);
5079       Set_List3_With_Parent (N, Val);
5080    end Set_Private_Declarations;
5081
5082    procedure Set_Private_Present
5083       (N : Node_Id; Val : Boolean := True) is
5084    begin
5085       pragma Assert (False
5086         or else NT (N).Nkind = N_Compilation_Unit
5087         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5088         or else NT (N).Nkind = N_With_Clause);
5089       Set_Flag15 (N, Val);
5090    end Set_Private_Present;
5091
5092    procedure Set_Procedure_To_Call
5093       (N : Node_Id; Val : Node_Id) is
5094    begin
5095       pragma Assert (False
5096         or else NT (N).Nkind = N_Allocator
5097         or else NT (N).Nkind = N_Extended_Return_Statement
5098         or else NT (N).Nkind = N_Free_Statement
5099         or else NT (N).Nkind = N_Return_Statement);
5100       Set_Node2 (N, Val); -- semantic field, no parent set
5101    end Set_Procedure_To_Call;
5102
5103    procedure Set_Proper_Body
5104       (N : Node_Id; Val : Node_Id) is
5105    begin
5106       pragma Assert (False
5107         or else NT (N).Nkind = N_Subunit);
5108       Set_Node1_With_Parent (N, Val);
5109    end Set_Proper_Body;
5110
5111    procedure Set_Protected_Definition
5112       (N : Node_Id; Val : Node_Id) is
5113    begin
5114       pragma Assert (False
5115         or else NT (N).Nkind = N_Protected_Type_Declaration
5116         or else NT (N).Nkind = N_Single_Protected_Declaration);
5117       Set_Node3_With_Parent (N, Val);
5118    end Set_Protected_Definition;
5119
5120    procedure Set_Protected_Present
5121       (N : Node_Id; Val : Boolean := True) is
5122    begin
5123       pragma Assert (False
5124         or else NT (N).Nkind = N_Access_Function_Definition
5125         or else NT (N).Nkind = N_Access_Procedure_Definition
5126         or else NT (N).Nkind = N_Derived_Type_Definition
5127         or else NT (N).Nkind = N_Record_Definition);
5128       Set_Flag6 (N, Val);
5129    end Set_Protected_Present;
5130
5131    procedure Set_Raises_Constraint_Error
5132       (N : Node_Id; Val : Boolean := True) is
5133    begin
5134       pragma Assert (False
5135         or else NT (N).Nkind in N_Subexpr);
5136       Set_Flag7 (N, Val);
5137    end Set_Raises_Constraint_Error;
5138
5139    procedure Set_Range_Constraint
5140       (N : Node_Id; Val : Node_Id) is
5141    begin
5142       pragma Assert (False
5143         or else NT (N).Nkind = N_Delta_Constraint
5144         or else NT (N).Nkind = N_Digits_Constraint);
5145       Set_Node4_With_Parent (N, Val);
5146    end Set_Range_Constraint;
5147
5148    procedure Set_Range_Expression
5149       (N : Node_Id; Val : Node_Id) is
5150    begin
5151       pragma Assert (False
5152         or else NT (N).Nkind = N_Range_Constraint);
5153       Set_Node4_With_Parent (N, Val);
5154    end Set_Range_Expression;
5155
5156    procedure Set_Real_Range_Specification
5157       (N : Node_Id; Val : Node_Id) is
5158    begin
5159       pragma Assert (False
5160         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
5161         or else NT (N).Nkind = N_Floating_Point_Definition
5162         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
5163       Set_Node4_With_Parent (N, Val);
5164    end Set_Real_Range_Specification;
5165
5166    procedure Set_Realval
5167      (N : Node_Id; Val : Ureal) is
5168    begin
5169       pragma Assert (False
5170         or else NT (N).Nkind = N_Real_Literal);
5171       Set_Ureal3 (N, Val);
5172    end Set_Realval;
5173
5174    procedure Set_Reason
5175       (N : Node_Id; Val : Uint) is
5176    begin
5177       pragma Assert (False
5178         or else NT (N).Nkind = N_Raise_Constraint_Error
5179         or else NT (N).Nkind = N_Raise_Program_Error
5180         or else NT (N).Nkind = N_Raise_Storage_Error);
5181       Set_Uint3 (N, Val);
5182    end Set_Reason;
5183
5184    procedure Set_Record_Extension_Part
5185       (N : Node_Id; Val : Node_Id) is
5186    begin
5187       pragma Assert (False
5188         or else NT (N).Nkind = N_Derived_Type_Definition);
5189       Set_Node3_With_Parent (N, Val);
5190    end Set_Record_Extension_Part;
5191
5192    procedure Set_Redundant_Use
5193       (N : Node_Id; Val : Boolean := True) is
5194    begin
5195       pragma Assert (False
5196         or else NT (N).Nkind = N_Attribute_Reference
5197         or else NT (N).Nkind = N_Expanded_Name
5198         or else NT (N).Nkind = N_Identifier);
5199       Set_Flag13 (N, Val);
5200    end Set_Redundant_Use;
5201
5202    procedure Set_Renaming_Exception
5203       (N : Node_Id; Val : Node_Id) is
5204    begin
5205       pragma Assert (False
5206         or else NT (N).Nkind = N_Exception_Declaration);
5207       Set_Node2 (N, Val);
5208    end Set_Renaming_Exception;
5209
5210    procedure Set_Result_Definition
5211      (N : Node_Id; Val : Node_Id) is
5212    begin
5213       pragma Assert (False
5214         or else NT (N).Nkind = N_Access_Function_Definition
5215         or else NT (N).Nkind = N_Function_Specification);
5216       Set_Node4_With_Parent (N, Val);
5217    end Set_Result_Definition;
5218
5219    procedure Set_Return_Object_Declarations
5220      (N : Node_Id; Val : List_Id) is
5221    begin
5222       pragma Assert (False
5223         or else NT (N).Nkind = N_Extended_Return_Statement);
5224       Set_List3_With_Parent (N, Val);
5225    end Set_Return_Object_Declarations;
5226
5227    procedure Set_Return_Statement_Entity
5228      (N : Node_Id; Val : Node_Id) is
5229    begin
5230       pragma Assert (False
5231         or else NT (N).Nkind = N_Extended_Return_Statement
5232         or else NT (N).Nkind = N_Return_Statement);
5233       Set_Node5 (N, Val); -- semantic field, no parent set
5234    end Set_Return_Statement_Entity;
5235
5236    procedure Set_Reverse_Present
5237       (N : Node_Id; Val : Boolean := True) is
5238    begin
5239       pragma Assert (False
5240         or else NT (N).Nkind = N_Loop_Parameter_Specification);
5241       Set_Flag15 (N, Val);
5242    end Set_Reverse_Present;
5243
5244    procedure Set_Right_Opnd
5245       (N : Node_Id; Val : Node_Id) is
5246    begin
5247       pragma Assert (False
5248         or else NT (N).Nkind in N_Op
5249         or else NT (N).Nkind = N_And_Then
5250         or else NT (N).Nkind = N_In
5251         or else NT (N).Nkind = N_Not_In
5252         or else NT (N).Nkind = N_Or_Else);
5253       Set_Node3_With_Parent (N, Val);
5254    end Set_Right_Opnd;
5255
5256    procedure Set_Rounded_Result
5257       (N : Node_Id; Val : Boolean := True) is
5258    begin
5259       pragma Assert (False
5260         or else NT (N).Nkind = N_Op_Divide
5261         or else NT (N).Nkind = N_Op_Multiply
5262         or else NT (N).Nkind = N_Type_Conversion);
5263       Set_Flag18 (N, Val);
5264    end Set_Rounded_Result;
5265
5266    procedure Set_Scope
5267       (N : Node_Id; Val : Node_Id) is
5268    begin
5269       pragma Assert (False
5270         or else NT (N).Nkind = N_Defining_Character_Literal
5271         or else NT (N).Nkind = N_Defining_Identifier
5272         or else NT (N).Nkind = N_Defining_Operator_Symbol);
5273       Set_Node3 (N, Val); -- semantic field, no parent set
5274    end Set_Scope;
5275
5276    procedure Set_Select_Alternatives
5277       (N : Node_Id; Val : List_Id) is
5278    begin
5279       pragma Assert (False
5280         or else NT (N).Nkind = N_Selective_Accept);
5281       Set_List1_With_Parent (N, Val);
5282    end Set_Select_Alternatives;
5283
5284    procedure Set_Selector_Name
5285       (N : Node_Id; Val : Node_Id) is
5286    begin
5287       pragma Assert (False
5288         or else NT (N).Nkind = N_Expanded_Name
5289         or else NT (N).Nkind = N_Generic_Association
5290         or else NT (N).Nkind = N_Parameter_Association
5291         or else NT (N).Nkind = N_Selected_Component);
5292       Set_Node2_With_Parent (N, Val);
5293    end Set_Selector_Name;
5294
5295    procedure Set_Selector_Names
5296       (N : Node_Id; Val : List_Id) is
5297    begin
5298       pragma Assert (False
5299         or else NT (N).Nkind = N_Discriminant_Association);
5300       Set_List1_With_Parent (N, Val);
5301    end Set_Selector_Names;
5302
5303    procedure Set_Shift_Count_OK
5304       (N : Node_Id; Val : Boolean := True) is
5305    begin
5306       pragma Assert (False
5307         or else NT (N).Nkind = N_Op_Rotate_Left
5308         or else NT (N).Nkind = N_Op_Rotate_Right
5309         or else NT (N).Nkind = N_Op_Shift_Left
5310         or else NT (N).Nkind = N_Op_Shift_Right
5311         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
5312       Set_Flag4 (N, Val);
5313    end Set_Shift_Count_OK;
5314
5315    procedure Set_Source_Type
5316       (N : Node_Id; Val : Entity_Id) is
5317    begin
5318       pragma Assert (False
5319         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5320       Set_Node1 (N, Val); -- semantic field, no parent set
5321    end Set_Source_Type;
5322
5323    procedure Set_Specification
5324       (N : Node_Id; Val : Node_Id) is
5325    begin
5326       pragma Assert (False
5327         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
5328         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
5329         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
5330         or else NT (N).Nkind = N_Generic_Package_Declaration
5331         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
5332         or else NT (N).Nkind = N_Package_Declaration
5333         or else NT (N).Nkind = N_Subprogram_Body
5334         or else NT (N).Nkind = N_Subprogram_Body_Stub
5335         or else NT (N).Nkind = N_Subprogram_Declaration
5336         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
5337       Set_Node1_With_Parent (N, Val);
5338    end Set_Specification;
5339
5340    procedure Set_Statements
5341       (N : Node_Id; Val : List_Id) is
5342    begin
5343       pragma Assert (False
5344         or else NT (N).Nkind = N_Abortable_Part
5345         or else NT (N).Nkind = N_Accept_Alternative
5346         or else NT (N).Nkind = N_Case_Statement_Alternative
5347         or else NT (N).Nkind = N_Delay_Alternative
5348         or else NT (N).Nkind = N_Entry_Call_Alternative
5349         or else NT (N).Nkind = N_Exception_Handler
5350         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
5351         or else NT (N).Nkind = N_Loop_Statement
5352         or else NT (N).Nkind = N_Triggering_Alternative);
5353       Set_List3_With_Parent (N, Val);
5354    end Set_Statements;
5355
5356    procedure Set_Static_Processing_OK
5357       (N : Node_Id; Val : Boolean) is
5358    begin
5359       pragma Assert (False
5360         or else NT (N).Nkind = N_Aggregate);
5361       Set_Flag4 (N, Val);
5362    end Set_Static_Processing_OK;
5363
5364    procedure Set_Storage_Pool
5365       (N : Node_Id; Val : Node_Id) is
5366    begin
5367       pragma Assert (False
5368         or else NT (N).Nkind = N_Allocator
5369         or else NT (N).Nkind = N_Extended_Return_Statement
5370         or else NT (N).Nkind = N_Free_Statement
5371         or else NT (N).Nkind = N_Return_Statement);
5372       Set_Node1 (N, Val); -- semantic field, no parent set
5373    end Set_Storage_Pool;
5374
5375    procedure Set_Strval
5376       (N : Node_Id; Val : String_Id) is
5377    begin
5378       pragma Assert (False
5379         or else NT (N).Nkind = N_Operator_Symbol
5380         or else NT (N).Nkind = N_String_Literal);
5381       Set_Str3 (N, Val);
5382    end Set_Strval;
5383
5384    procedure Set_Subtype_Indication
5385       (N : Node_Id; Val : Node_Id) is
5386    begin
5387       pragma Assert (False
5388         or else NT (N).Nkind = N_Access_To_Object_Definition
5389         or else NT (N).Nkind = N_Component_Definition
5390         or else NT (N).Nkind = N_Derived_Type_Definition
5391         or else NT (N).Nkind = N_Private_Extension_Declaration
5392         or else NT (N).Nkind = N_Subtype_Declaration);
5393       Set_Node5_With_Parent (N, Val);
5394    end Set_Subtype_Indication;
5395
5396    procedure Set_Subtype_Mark
5397       (N : Node_Id; Val : Node_Id) is
5398    begin
5399       pragma Assert (False
5400         or else NT (N).Nkind = N_Access_Definition
5401         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5402         or else NT (N).Nkind = N_Formal_Object_Declaration
5403         or else NT (N).Nkind = N_Object_Renaming_Declaration
5404         or else NT (N).Nkind = N_Qualified_Expression
5405         or else NT (N).Nkind = N_Subtype_Indication
5406         or else NT (N).Nkind = N_Type_Conversion
5407         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
5408       Set_Node4_With_Parent (N, Val);
5409    end Set_Subtype_Mark;
5410
5411    procedure Set_Subtype_Marks
5412       (N : Node_Id; Val : List_Id) is
5413    begin
5414       pragma Assert (False
5415         or else NT (N).Nkind = N_Unconstrained_Array_Definition
5416         or else NT (N).Nkind = N_Use_Type_Clause);
5417       Set_List2_With_Parent (N, Val);
5418    end Set_Subtype_Marks;
5419
5420    procedure Set_Suppress_Loop_Warnings
5421       (N : Node_Id; Val : Boolean := True) is
5422    begin
5423       pragma Assert (False
5424         or else NT (N).Nkind = N_Loop_Statement);
5425       Set_Flag17 (N, Val);
5426    end Set_Suppress_Loop_Warnings;
5427
5428    procedure Set_Synchronized_Present
5429      (N : Node_Id; Val : Boolean := True) is
5430    begin
5431       pragma Assert (False
5432         or else NT (N).Nkind = N_Derived_Type_Definition
5433         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5434         or else NT (N).Nkind = N_Private_Extension_Declaration
5435         or else NT (N).Nkind = N_Record_Definition);
5436       Set_Flag7 (N, Val);
5437    end Set_Synchronized_Present;
5438
5439    procedure Set_Tagged_Present
5440       (N : Node_Id; Val : Boolean := True) is
5441    begin
5442       pragma Assert (False
5443         or else NT (N).Nkind = N_Formal_Private_Type_Definition
5444         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5445         or else NT (N).Nkind = N_Private_Type_Declaration
5446         or else NT (N).Nkind = N_Record_Definition);
5447       Set_Flag15 (N, Val);
5448    end Set_Tagged_Present;
5449
5450    procedure Set_Target_Type
5451       (N : Node_Id; Val : Entity_Id) is
5452    begin
5453       pragma Assert (False
5454         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5455       Set_Node2 (N, Val); -- semantic field, no parent set
5456    end Set_Target_Type;
5457
5458    procedure Set_Task_Definition
5459       (N : Node_Id; Val : Node_Id) is
5460    begin
5461       pragma Assert (False
5462         or else NT (N).Nkind = N_Single_Task_Declaration
5463         or else NT (N).Nkind = N_Task_Type_Declaration);
5464       Set_Node3_With_Parent (N, Val);
5465    end Set_Task_Definition;
5466
5467    procedure Set_Task_Present
5468      (N : Node_Id; Val : Boolean := True) is
5469    begin
5470       pragma Assert (False
5471         or else NT (N).Nkind = N_Derived_Type_Definition
5472         or else NT (N).Nkind = N_Record_Definition);
5473       Set_Flag5 (N, Val);
5474    end Set_Task_Present;
5475
5476    procedure Set_Then_Actions
5477       (N : Node_Id; Val : List_Id) is
5478    begin
5479       pragma Assert (False
5480         or else NT (N).Nkind = N_Conditional_Expression);
5481       Set_List2 (N, Val); -- semantic field, no parent set
5482    end Set_Then_Actions;
5483
5484    procedure Set_Then_Statements
5485       (N : Node_Id; Val : List_Id) is
5486    begin
5487       pragma Assert (False
5488         or else NT (N).Nkind = N_Elsif_Part
5489         or else NT (N).Nkind = N_If_Statement);
5490       Set_List2_With_Parent (N, Val);
5491    end Set_Then_Statements;
5492
5493    procedure Set_Treat_Fixed_As_Integer
5494       (N : Node_Id; Val : Boolean := True) is
5495    begin
5496       pragma Assert (False
5497         or else NT (N).Nkind = N_Op_Divide
5498         or else NT (N).Nkind = N_Op_Mod
5499         or else NT (N).Nkind = N_Op_Multiply
5500         or else NT (N).Nkind = N_Op_Rem);
5501       Set_Flag14 (N, Val);
5502    end Set_Treat_Fixed_As_Integer;
5503
5504    procedure Set_Triggering_Alternative
5505       (N : Node_Id; Val : Node_Id) is
5506    begin
5507       pragma Assert (False
5508         or else NT (N).Nkind = N_Asynchronous_Select);
5509       Set_Node1_With_Parent (N, Val);
5510    end Set_Triggering_Alternative;
5511
5512    procedure Set_Triggering_Statement
5513       (N : Node_Id; Val : Node_Id) is
5514    begin
5515       pragma Assert (False
5516         or else NT (N).Nkind = N_Triggering_Alternative);
5517       Set_Node1_With_Parent (N, Val);
5518    end Set_Triggering_Statement;
5519
5520    procedure Set_TSS_Elist
5521       (N : Node_Id; Val : Elist_Id) is
5522    begin
5523       pragma Assert (False
5524         or else NT (N).Nkind = N_Freeze_Entity);
5525       Set_Elist3 (N, Val); -- semantic field, no parent set
5526    end Set_TSS_Elist;
5527
5528    procedure Set_Type_Definition
5529       (N : Node_Id; Val : Node_Id) is
5530    begin
5531       pragma Assert (False
5532         or else NT (N).Nkind = N_Full_Type_Declaration);
5533       Set_Node3_With_Parent (N, Val);
5534    end Set_Type_Definition;
5535
5536    procedure Set_Unit
5537       (N : Node_Id; Val : Node_Id) is
5538    begin
5539       pragma Assert (False
5540         or else NT (N).Nkind = N_Compilation_Unit);
5541       Set_Node2_With_Parent (N, Val);
5542    end Set_Unit;
5543
5544    procedure Set_Unknown_Discriminants_Present
5545       (N : Node_Id; Val : Boolean := True) is
5546    begin
5547       pragma Assert (False
5548         or else NT (N).Nkind = N_Formal_Type_Declaration
5549         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5550         or else NT (N).Nkind = N_Private_Extension_Declaration
5551         or else NT (N).Nkind = N_Private_Type_Declaration);
5552       Set_Flag13 (N, Val);
5553    end Set_Unknown_Discriminants_Present;
5554
5555    procedure Set_Unreferenced_In_Spec
5556       (N : Node_Id; Val : Boolean := True) is
5557    begin
5558       pragma Assert (False
5559         or else NT (N).Nkind = N_With_Clause);
5560       Set_Flag7 (N, Val);
5561    end Set_Unreferenced_In_Spec;
5562
5563    procedure Set_Variant_Part
5564       (N : Node_Id; Val : Node_Id) is
5565    begin
5566       pragma Assert (False
5567         or else NT (N).Nkind = N_Component_List);
5568       Set_Node4_With_Parent (N, Val);
5569    end Set_Variant_Part;
5570
5571    procedure Set_Variants
5572       (N : Node_Id; Val : List_Id) is
5573    begin
5574       pragma Assert (False
5575         or else NT (N).Nkind = N_Variant_Part);
5576       Set_List1_With_Parent (N, Val);
5577    end Set_Variants;
5578
5579    procedure Set_Visible_Declarations
5580       (N : Node_Id; Val : List_Id) is
5581    begin
5582       pragma Assert (False
5583         or else NT (N).Nkind = N_Package_Specification
5584         or else NT (N).Nkind = N_Protected_Definition
5585         or else NT (N).Nkind = N_Task_Definition);
5586       Set_List2_With_Parent (N, Val);
5587    end Set_Visible_Declarations;
5588
5589    procedure Set_Was_Originally_Stub
5590       (N : Node_Id; Val : Boolean := True) is
5591    begin
5592       pragma Assert (False
5593         or else NT (N).Nkind = N_Package_Body
5594         or else NT (N).Nkind = N_Protected_Body
5595         or else NT (N).Nkind = N_Subprogram_Body
5596         or else NT (N).Nkind = N_Task_Body);
5597       Set_Flag13 (N, Val);
5598    end Set_Was_Originally_Stub;
5599
5600    procedure Set_Zero_Cost_Handling
5601       (N : Node_Id; Val : Boolean := True) is
5602    begin
5603       pragma Assert (False
5604         or else NT (N).Nkind = N_Exception_Handler
5605         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
5606       Set_Flag5 (N, Val);
5607    end Set_Zero_Cost_Handling;
5608
5609    -------------------------
5610    -- Iterator Procedures --
5611    -------------------------
5612
5613    procedure Next_Entity       (N : in out Node_Id) is
5614    begin
5615       N := Next_Entity (N);
5616    end Next_Entity;
5617
5618    procedure Next_Named_Actual (N : in out Node_Id) is
5619    begin
5620       N := Next_Named_Actual (N);
5621    end Next_Named_Actual;
5622
5623    procedure Next_Rep_Item     (N : in out Node_Id) is
5624    begin
5625       N := Next_Rep_Item (N);
5626    end Next_Rep_Item;
5627
5628    procedure Next_Use_Clause   (N : in out Node_Id) is
5629    begin
5630       N := Next_Use_Clause (N);
5631    end Next_Use_Clause;
5632
5633    ------------------
5634    -- End_Location --
5635    ------------------
5636
5637    function End_Location (N : Node_Id) return Source_Ptr is
5638       L : constant Uint := End_Span (N);
5639    begin
5640       if L = No_Uint then
5641          return No_Location;
5642       else
5643          return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
5644       end if;
5645    end End_Location;
5646
5647    ----------------------
5648    -- Set_End_Location --
5649    ----------------------
5650
5651    procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
5652    begin
5653       Set_End_Span (N,
5654         UI_From_Int (Int (S) - Int (Sloc (N))));
5655    end Set_End_Location;
5656
5657    --------------
5658    -- Nkind_In --
5659    --------------
5660
5661    function Nkind_In
5662      (T  : Node_Kind;
5663       V1 : Node_Kind;
5664       V2 : Node_Kind) return Boolean
5665    is
5666    begin
5667       return T = V1 or else
5668              T = V2;
5669    end Nkind_In;
5670
5671    function Nkind_In
5672      (T  : Node_Kind;
5673       V1 : Node_Kind;
5674       V2 : Node_Kind;
5675       V3 : Node_Kind) return Boolean
5676    is
5677    begin
5678       return T = V1 or else
5679              T = V2 or else
5680              T = V3;
5681    end Nkind_In;
5682
5683    function Nkind_In
5684      (T  : Node_Kind;
5685       V1 : Node_Kind;
5686       V2 : Node_Kind;
5687       V3 : Node_Kind;
5688       V4 : Node_Kind) return Boolean
5689    is
5690    begin
5691       return T = V1 or else
5692              T = V2 or else
5693              T = V3 or else
5694              T = V4;
5695    end Nkind_In;
5696
5697    function Nkind_In
5698      (T  : Node_Kind;
5699       V1 : Node_Kind;
5700       V2 : Node_Kind;
5701       V3 : Node_Kind;
5702       V4 : Node_Kind;
5703       V5 : Node_Kind) return Boolean
5704    is
5705    begin
5706       return T = V1 or else
5707              T = V2 or else
5708              T = V3 or else
5709              T = V4 or else
5710              T = V5;
5711    end Nkind_In;
5712
5713    function Nkind_In
5714      (T  : Node_Kind;
5715       V1 : Node_Kind;
5716       V2 : Node_Kind;
5717       V3 : Node_Kind;
5718       V4 : Node_Kind;
5719       V5 : Node_Kind;
5720       V6 : Node_Kind) return Boolean
5721    is
5722    begin
5723       return T = V1 or else
5724              T = V2 or else
5725              T = V3 or else
5726              T = V4 or else
5727              T = V5 or else
5728              T = V6;
5729    end Nkind_In;
5730
5731    function Nkind_In
5732      (T  : Node_Kind;
5733       V1 : Node_Kind;
5734       V2 : Node_Kind;
5735       V3 : Node_Kind;
5736       V4 : Node_Kind;
5737       V5 : Node_Kind;
5738       V6 : Node_Kind;
5739       V7 : Node_Kind) return Boolean
5740    is
5741    begin
5742       return T = V1 or else
5743              T = V2 or else
5744              T = V3 or else
5745              T = V4 or else
5746              T = V5 or else
5747              T = V6 or else
5748              T = V7;
5749    end Nkind_In;
5750
5751    function Nkind_In
5752      (T  : Node_Kind;
5753       V1 : Node_Kind;
5754       V2 : Node_Kind;
5755       V3 : Node_Kind;
5756       V4 : Node_Kind;
5757       V5 : Node_Kind;
5758       V6 : Node_Kind;
5759       V7 : Node_Kind;
5760       V8 : Node_Kind) return Boolean
5761    is
5762    begin
5763       return T = V1 or else
5764              T = V2 or else
5765              T = V3 or else
5766              T = V4 or else
5767              T = V5 or else
5768              T = V6 or else
5769              T = V7 or else
5770              T = V8;
5771    end Nkind_In;
5772
5773    -----------------
5774    -- Pragma_Name --
5775    -----------------
5776
5777    function Pragma_Name (N : Node_Id) return Name_Id is
5778    begin
5779       return Chars (Pragma_Identifier (N));
5780    end Pragma_Name;
5781
5782 end Sinfo;