extern Boolean Debug_Flag_NN;
/* einfo: We will be setting Esize for types, Component_Bit_Offset for fields,
- Alignment for types and objects, Component_Size for array types, and
- Present_Expr for N_Variant nodes. */
+ Alignment for types and objects, Component_Size for array types. */
#define Set_Alignment einfo__set_alignment
#define Set_Component_Bit_Offset einfo__set_component_bit_offset
#define Set_Esize einfo__set_esize
#define Set_Mechanism einfo__set_mechanism
#define Set_RM_Size einfo__set_rm_size
-#define Set_Present_Expr sinfo__set_present_expr
extern void Set_Alignment (Entity_Id, Uint);
extern void Set_Component_Bit_Offset (Entity_Id, Uint);
extern void Set_Esize (Entity_Id, Uint);
extern void Set_Mechanism (Entity_Id, Mechanism_Type);
extern void Set_RM_Size (Entity_Id, Uint);
-extern void Set_Present_Expr (Node_Id, Uint);
#define Is_Entity_Name einfo__is_entity_name
extern Boolean Is_Entity_Name (Node_Id);
extern Node_Id Next_Actual (Node_Id);
extern Boolean Requires_Transient_Scope (Entity_Id);
-/* sinfo: These functions aren't in sinfo.h since we don't make the
- setting functions, just the retrieval functions. */
+/* sinfo: */
-#define Set_Has_No_Elaboration_Code sinfo__set_has_no_elaboration_code
+#define End_Location sinfo__end_location
+#define Set_Has_No_Elaboration_Code sinfo__set_has_no_elaboration_code
+#define Set_Present_Expr sinfo__set_present_expr
+
+extern Source_Ptr End_Location (Node_Id);
extern void Set_Has_No_Elaboration_Code (Node_Id, Boolean);
+extern void Set_Present_Expr (Node_Id, Uint);
/* targparm: */
/* We build a SWITCH_EXPR that contains the code with interspersed
CASE_LABEL_EXPRs for each label. */
- if (!Sloc_to_locus (Sloc (gnat_node) + UI_To_Int (End_Span (gnat_node)),
- &end_locus))
+ if (!Sloc_to_locus (End_Location (gnat_node), &end_locus))
end_locus = input_location;
gnu_label = create_artificial_label (end_locus);
start_stmt_group ();