]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
fe.h (Set_Present_Expr): Move around.
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 18 May 2014 20:52:45 +0000 (20:52 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 18 May 2014 20:52:45 +0000 (20:52 +0000)
* 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

gcc/ada/ChangeLog
gcc/ada/fe.h
gcc/ada/gcc-interface/trans.c

index d624a8e6ff52d8e66076a68617414738acb26024..0c989f91d358b83feddf1427ed0040f21d8a43e0 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * 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  <ebotcazou@adacore.com>
 
        * gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in
index 3d670dc7bc3c6ada3b8479cfac29e85fffe9a193..f5554f866a140c632300c103ce9d4c665ea6259c 100644 (file)
@@ -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: */
 
index 35c6ff3f6fa16f43dec5a46708ff51203e162173..581c57f93a4357e86f3bff22ec85bba100096e12 100644 (file)
@@ -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 ();