aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-03-01 06:59:11 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-09 04:09:04 -0400
commit4228c32ab0b50e10e74ff53159894708471bcdbc (patch)
treea6103aead9b87ef970c07c50ed26250cd48a6905
parent7d4d54aa7c2d6dadcc24fb946b127bd1a179e3ec (diff)
downloadgcc-4228c32ab0b50e10e74ff53159894708471bcdbc.zip
gcc-4228c32ab0b50e10e74ff53159894708471bcdbc.tar.gz
gcc-4228c32ab0b50e10e74ff53159894708471bcdbc.tar.bz2
[Ada] Code refactoring on calls to Set_Debug_Info_Needed
2020-06-09 Arnaud Charlet <charlet@adacore.com> 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.
-rw-r--r--gcc/ada/exp_ch3.adb4
-rw-r--r--gcc/ada/exp_ch8.adb5
-rw-r--r--gcc/ada/sem_util.adb11
-rw-r--r--gcc/ada/sem_util.ads4
4 files changed, 17 insertions, 7 deletions
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index a977e4f..6aaa475 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 71160ee..4498be5 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 ff52378..cd7ac1e 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 03fcfe4..5ca8ca3 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: