aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_aux.adb
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2009-04-10 09:58:35 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-10 11:58:35 +0200
commit24357840f1d9fbeb5f604b33b541479786d9910a (patch)
tree60b600a4905a739ecc00f1a2f5f76492813fd691 /gcc/ada/sem_aux.adb
parent4f64abad80d072773ac390c9a93470dd57da4c31 (diff)
downloadgcc-24357840f1d9fbeb5f604b33b541479786d9910a.zip
gcc-24357840f1d9fbeb5f604b33b541479786d9910a.tar.gz
gcc-24357840f1d9fbeb5f604b33b541479786d9910a.tar.bz2
sem_aux.ads, [...] (Nearest_Current_Scope): New function.
2009-04-10 Robert Dewar <dewar@adacore.com> * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function. * sem_res.adb (Resolve_Call): Fix test for Suppress_Value_Tracking_On_Call (was wrong for the case of a call from a non-dynamic scope). From-SVN: r145881
Diffstat (limited to 'gcc/ada/sem_aux.adb')
-rwxr-xr-xgcc/ada/sem_aux.adb15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ada/sem_aux.adb b/gcc/ada/sem_aux.adb
index 4acfb1d..94db312 100755
--- a/gcc/ada/sem_aux.adb
+++ b/gcc/ada/sem_aux.adb
@@ -158,7 +158,7 @@ package body Sem_Aux is
-----------------------------
function Enclosing_Dynamic_Scope (Ent : Entity_Id) return Entity_Id is
- S : Entity_Id;
+ S : Entity_Id;
begin
-- The following test is an error defense against some syntax
@@ -710,6 +710,19 @@ package body Sem_Aux is
end if;
end Is_Limited_Type;
+ ---------------------------
+ -- Nearest_Dynamic_Scope --
+ ---------------------------
+
+ function Nearest_Dynamic_Scope (Ent : Entity_Id) return Entity_Id is
+ begin
+ if Is_Dynamic_Scope (Ent) then
+ return Ent;
+ else
+ return Enclosing_Dynamic_Scope (Ent);
+ end if;
+ end Nearest_Dynamic_Scope;
+
------------------------
-- Next_Tag_Component --
------------------------