]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Ada: Remove debug line number for DECL_IGNORED_P functions
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sat, 24 Jul 2021 10:53:39 +0000 (12:53 +0200)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Wed, 11 Aug 2021 05:29:27 +0000 (07:29 +0200)
It was pointed out in PR101598 to be inappropriate, that
ignored Ada decls receive the source line number which was
recorded in the function decl's DECL_SOURCE_LOCATION.
Therefore set all front-end-generated Ada decls with
DECL_IGNORED_P to UNKNOWN_LOCATION.

2021-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR debug/101598
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
UNKNOWN_LOCATION.

gcc/ada/gcc-interface/trans.c

index f61183de8091c6d2874d5d363545fa5799be7c2f..3df56aa0560e152b6df29d5959d3111f2072b56a 100644 (file)
@@ -3885,7 +3885,9 @@ Subprogram_Body_to_gnu (Node_Id gnat_node)
     }
 
   /* Set the line number in the decl to correspond to that of the body.  */
-  if (!Sloc_to_locus (Sloc (gnat_node), &locus, false, gnu_subprog_decl))
+  if (DECL_IGNORED_P (gnu_subprog_decl))
+    locus = UNKNOWN_LOCATION;
+  else if (!Sloc_to_locus (Sloc (gnat_node), &locus, false, gnu_subprog_decl))
     locus = input_location;
   DECL_SOURCE_LOCATION (gnu_subprog_decl) = locus;