aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada')
-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: