From 4228c32ab0b50e10e74ff53159894708471bcdbc Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Sun, 1 Mar 2020 06:59:11 -0500 Subject: [PATCH] [Ada] Code refactoring on calls to Set_Debug_Info_Needed 2020-06-09 Arnaud Charlet gcc/ada/ * sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New. * exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when relevant. --- gcc/ada/exp_ch3.adb | 4 +--- gcc/ada/exp_ch8.adb | 5 +---- gcc/ada/sem_util.adb | 11 +++++++++++ gcc/ada/sem_util.ads | 4 ++++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb index a977e4f8e7b..6aaa4750558 100644 --- a/gcc/ada/exp_ch3.adb +++ b/gcc/ada/exp_ch3.adb @@ -7267,9 +7267,7 @@ package body Exp_Ch3 is -- debug information, even though it is defined by a generated -- renaming that does not come from source. - if Comes_From_Source (Defining_Identifier (N)) then - Set_Debug_Info_Needed (Defining_Identifier (N)); - end if; + Set_Debug_Info_Defining_Id (N); -- Now call the routine to generate debug info for the renaming diff --git a/gcc/ada/exp_ch8.adb b/gcc/ada/exp_ch8.adb index 71160ee0665..4498be5c817 100644 --- a/gcc/ada/exp_ch8.adb +++ b/gcc/ada/exp_ch8.adb @@ -209,10 +209,7 @@ package body Exp_Ch8 is -- needing debug info if it comes from sources because the current -- setting in Freeze_Entity occurs too late. ??? - if Comes_From_Source (Defining_Identifier (N)) then - Set_Debug_Info_Needed (Defining_Identifier (N)); - end if; - + Set_Debug_Info_Defining_Id (N); Decl := Debug_Renaming_Declaration (N); if Present (Decl) then diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index ff52378d560..cd7ac1ea22f 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -25142,6 +25142,17 @@ package body Sem_Util is end if; end Set_Debug_Info_Needed; + -------------------------------- + -- Set_Debug_Info_Defining_Id -- + -------------------------------- + + procedure Set_Debug_Info_Defining_Id (N : Node_Id) is + begin + if Comes_From_Source (Defining_Identifier (N)) then + Set_Debug_Info_Needed (Defining_Identifier (N)); + end if; + end Set_Debug_Info_Defining_Id; + ---------------------------- -- Set_Entity_With_Checks -- ---------------------------- diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index 03fcfe4421f..5ca8ca39f28 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -2721,6 +2721,10 @@ package Sem_Util is -- This routine should always be used instead of Set_Needs_Debug_Info to -- ensure that subsidiary entities are properly handled. + procedure Set_Debug_Info_Defining_Id (N : Node_Id); + -- Call Set_Debug_Info_Needed on Defining_Identifier (N) if it comes + -- from source. + procedure Set_Entity_With_Checks (N : Node_Id; Val : Entity_Id); -- This procedure has the same calling sequence as Set_Entity, but it -- performs additional checks as follows: -- 2.30.2