aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gen_il-gen-gen_nodes.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gen_il-gen-gen_nodes.adb')
-rw-r--r--gcc/ada/gen_il-gen-gen_nodes.adb40
1 files changed, 23 insertions, 17 deletions
diff --git a/gcc/ada/gen_il-gen-gen_nodes.adb b/gcc/ada/gen_il-gen-gen_nodes.adb
index 9ce2511..750287f 100644
--- a/gcc/ada/gen_il-gen-gen_nodes.adb
+++ b/gcc/ada/gen_il-gen-gen_nodes.adb
@@ -192,14 +192,24 @@ begin -- Gen_IL.Gen.Gen_Nodes
(Sy (Char_Literal_Value, Unat)));
Ab (N_Op, N_Has_Entity,
- (Sm (Chars, Name_Id),
- Sm (Do_Overflow_Check, Flag),
+ (Sm (Do_Overflow_Check, Flag),
Sm (Has_Private_View, Flag),
Sm (Has_Secondary_Private_View, Flag)));
Ab (N_Binary_Op, N_Op,
(Sy (Left_Opnd, Node_Id),
- Sy (Right_Opnd, Node_Id)));
+ Sy (Right_Opnd, Node_Id),
+ Sy (Chars, Name_Id, Default_No_Name)));
+ -- N_Binary_Op and N_Unary_Op do not strictly need Chars, since the value
+ -- is fully determined by the Nkind. However, for example, Errout refers to
+ -- Chars without knowing statically whether the Nkind is in N_Op.
+ -- In any case, we don't inherit Chars from N_Op, because we want it to
+ -- come after the other syntactic fields, so that positional notation can
+ -- be used in calls to Make_Op_Add and friends.
+ --
+ -- Make_Op_Add and friends will now have a Chars parameter. Callers
+ -- should always use the default, because the Chars field is set
+ -- properly as a special case (see Gen_IL.Gen).
Cc (N_Op_Add, N_Binary_Op);
@@ -259,7 +269,8 @@ begin -- Gen_IL.Gen.Gen_Nodes
Cc (N_Op_Shift_Right_Arithmetic, N_Op_Shift);
Ab (N_Unary_Op, N_Op,
- (Sy (Right_Opnd, Node_Id)));
+ (Sy (Right_Opnd, Node_Id),
+ Sy (Chars, Name_Id, Default_No_Name)));
Cc (N_Op_Abs, N_Unary_Op);
Cc (N_Op_Minus, N_Unary_Op);
@@ -290,7 +301,7 @@ begin -- Gen_IL.Gen.Gen_Nodes
Ab (N_Short_Circuit, N_Subexpr,
(Sy (Left_Opnd, Node_Id),
Sy (Right_Opnd, Node_Id),
- Sm (Actions, List_Id)));
+ Sy (Actions, List_Id, Default_No_List)));
Cc (N_And_Then, N_Short_Circuit);
Cc (N_Or_Else, N_Short_Circuit);
@@ -403,7 +414,6 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sy (Null_Exclusion_Present, Flag, Default_False),
Sy (Expression, Node_Id, Default_Empty),
Sm (For_Special_Return_Object, Flag),
- Sm (Do_Storage_Check, Flag),
Sm (Is_Dynamic_Coextension, Flag),
Sm (Is_Static_Coextension, Flag),
Sm (No_Initialization, Flag),
@@ -466,6 +476,7 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sm (Do_Length_Check, Flag),
Sm (Do_Overflow_Check, Flag),
Sm (Float_Truncate, Flag),
+ Sm (Is_Interface_Pointer_Displacement, Flag),
Sm (Tag_Propagated, Flag),
Sm (Rounded_Result, Flag)));
@@ -515,7 +526,7 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sy (Null_Exclusion_Present, Flag, Default_False),
Sy (Access_Definition, Node_Id, Default_Empty),
Sy (Subtype_Mark, Node_Id, Default_Empty),
- Sy (Default_Expression, Node_Id, Default_Empty),
+ Sy (Expression, Node_Id, Default_Empty),
Sy (Aspect_Specifications, List_Id, Default_No_List),
Sm (More_Ids, Flag),
Sm (Prev_Ids, Flag)));
@@ -568,8 +579,6 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sm (Assignment_OK, Flag),
Sm (Corresponding_Generic_Association, Node_Id),
Sm (Exception_Junk, Flag),
- Sm (Handler_List_Entry, Node_Id),
- Sm (Is_Subprogram_Descriptor, Flag),
Sm (More_Ids, Flag),
Sm (No_Initialization, Flag),
Sm (Prev_Ids, Flag),
@@ -730,7 +739,6 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sm (Activation_Chain_Entity, Node_Id),
Sm (Acts_As_Spec, Flag),
Sm (Corresponding_Entry_Body, Node_Id),
- Sm (Do_Storage_Check, Flag),
Sm (Has_Relative_Deadline_Pragma, Flag),
Sm (Is_Entry_Barrier_Function, Flag),
Sm (Is_Protected_Subprogram_Body, Flag),
@@ -1007,6 +1015,7 @@ begin -- Gen_IL.Gen.Gen_Nodes
Cc (N_Extended_Return_Statement, N_Statement_Other_Than_Procedure_Call,
(Sy (Return_Object_Declarations, List_Id),
Sy (Handled_Statement_Sequence, Node_Id, Default_Empty),
+ Sm (Activation_Chain_Entity, Node_Id),
Sm (Procedure_To_Call, Node_Id),
Sm (Return_Statement_Entity, Node_Id),
Sm (Storage_Pool, Node_Id)));
@@ -1154,9 +1163,9 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sm (Target, Node_Id)));
Cc (N_Case_Expression_Alternative, Node_Kind,
- (Sm (Actions, List_Id),
- Sy (Discrete_Choices, List_Id),
+ (Sy (Discrete_Choices, List_Id),
Sy (Expression, Node_Id, Default_Empty),
+ Sy (Actions, List_Id, Default_No_List),
Sm (Has_SP_Choice, Flag)));
Cc (N_Case_Statement_Alternative, Node_Kind,
@@ -1283,10 +1292,9 @@ begin -- Gen_IL.Gen.Gen_Nodes
Cc (N_Exception_Declaration, N_Declaration,
(Sy (Defining_Identifier, Node_Id),
Sy (Aspect_Specifications, List_Id, Default_No_List),
- Sm (Expression, Node_Id),
+ Sy (Expression, Node_Id, Default_Empty),
Sm (More_Ids, Flag),
- Sm (Prev_Ids, Flag),
- Sm (Renaming_Exception, Node_Id)));
+ Sm (Prev_Ids, Flag)));
Cc (N_Exception_Handler, Node_Kind,
(Sy (Choice_Parameter, Node_Id, Default_Empty),
@@ -1426,7 +1434,6 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sy (Parameter_Type, Node_Id),
Sy (Expression, Node_Id, Default_Empty),
Sy (Aspect_Specifications, List_Id, Default_No_List),
- Sm (Default_Expression, Node_Id),
Sm (More_Ids, Flag),
Sm (Prev_Ids, Flag)));
@@ -1531,7 +1538,6 @@ begin -- Gen_IL.Gen.Gen_Nodes
(Sy (Discrete_Choices, List_Id),
Sy (Component_List, Node_Id),
Sm (Dcheck_Function, Node_Id),
- Sm (Enclosing_Variant, Node_Id),
Sm (Has_SP_Choice, Flag),
Sm (Present_Expr, Uint)));