From: Eric Botcazou Date: Sun, 18 May 2014 20:52:45 +0000 (+0000) Subject: fe.h (Set_Present_Expr): Move around. X-Git-Tag: releases/gcc-5.1.0~7483 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=08b8b90cff5b5626b2a240a18e63e917e2e19a20;p=thirdparty%2Fgcc.git fe.h (Set_Present_Expr): Move around. * fe.h (Set_Present_Expr): Move around. (End_Location): New macro. * gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location. From-SVN: r210587 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d624a8e6ff52..0c989f91d358 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2014-05-18 Eric Botcazou + + * fe.h (Set_Present_Expr): Move around. + (End_Location): New macro. + * gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location. + 2014-05-18 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h index 3d670dc7bc3c..f5554f866a14 100644 --- a/gcc/ada/fe.h +++ b/gcc/ada/fe.h @@ -56,8 +56,7 @@ extern char Fold_Lower[], Fold_Upper[]; 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 @@ -65,7 +64,6 @@ extern Boolean Debug_Flag_NN; #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); @@ -73,7 +71,6 @@ extern void Set_Component_Size (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); @@ -253,11 +250,15 @@ extern Node_Id First_Actual (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: */ diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 35c6ff3f6fa1..581c57f93a43 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -2384,8 +2384,7 @@ Case_Statement_to_gnu (Node_Id gnat_node) /* 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 ();