From 40e63ada2b6776980230aa4575e301aafda960d1 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sun, 18 May 2014 21:12:42 +0000 Subject: [PATCH] trans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus. * gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus. From-SVN: r210591 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/trans.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 13e4df3c372..aa60d8a9f95 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2014-05-18 Eric Botcazou + + * gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and + set function_start_locus. + 2014-05-18 Eric Botcazou * utils.c (gnat_write_global_declarations): Adjust the flags put on diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 581c57f93a4..cd01d4d2420 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -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 *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 (); 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);