OSDN Git Service

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