]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
trans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus.
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 18 May 2014 21:12:42 +0000 (21:12 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 18 May 2014 21:12:42 +0000 (21:12 +0000)
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
set function_start_locus.

From-SVN: r210591

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

index 13e4df3c372d3daa22b1c59db13d5492119c02c2..aa60d8a9f950e874d64295178ca54841fca822af 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
+       set function_start_locus.
+
 2014-05-18  Eric Botcazou  <ebotcazou@adacore.com>
 
        * utils.c (gnat_write_global_declarations): Adjust the flags put on
index 581c57f93a4357e86f3bff22ec85bba100096e12..cd01d4d2420ce4c1ba0cf44efaf1b68554ebe699 100644 (file)
@@ -3574,6 +3574,7 @@ Subprogram_Body_to_gnu (Node_Id gnat_node)
   /* The entry in the CI_CO_LIST that represents a function return, if any.  */
   tree gnu_return_var_elmt = NULL_TREE;
   tree gnu_result;
+  location_t locus;
   struct language_function *gnu_subprog_language;
   vec<parm_attr, va_gc> *cache;
 
@@ -3610,14 +3611,15 @@ Subprogram_Body_to_gnu (Node_Id gnat_node)
       relayout_decl (gnu_result_decl);
     }
 
-  /* Set the line number in the decl to correspond to that of the body so that
-     the line number notes are written correctly.  */
-  Sloc_to_locus (Sloc (gnat_node), &DECL_SOURCE_LOCATION (gnu_subprog_decl));
+  /* Set the line number in the decl to correspond to that of the body.  */
+  Sloc_to_locus (Sloc (gnat_node), &locus);
+  DECL_SOURCE_LOCATION (gnu_subprog_decl) = locus;
 
   /* Initialize the information structure for the function.  */
   allocate_struct_function (gnu_subprog_decl, false);
   gnu_subprog_language = ggc_cleared_alloc<language_function> ();
   DECL_STRUCT_FUNCTION (gnu_subprog_decl)->language = gnu_subprog_language;
+  DECL_STRUCT_FUNCTION (gnu_subprog_decl)->function_start_locus = locus;
   set_cfun (NULL);
 
   begin_subprog_body (gnu_subprog_decl);