diff options
author | Robert Dewar <dewar@adacore.com> | 2009-04-10 09:58:35 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-10 11:58:35 +0200 |
commit | 24357840f1d9fbeb5f604b33b541479786d9910a (patch) | |
tree | 60b600a4905a739ecc00f1a2f5f76492813fd691 /gcc/ada/sem_aux.adb | |
parent | 4f64abad80d072773ac390c9a93470dd57da4c31 (diff) | |
download | gcc-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-x | gcc/ada/sem_aux.adb | 15 |
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 -- ------------------------ |