diff options
Diffstat (limited to 'gcc/ada/sem_util.adb')
| -rw-r--r-- | gcc/ada/sem_util.adb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 263e701e11d..9eb9af0b388 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -3152,6 +3152,31 @@ package body Sem_Util is end if; end Is_Aliased_View; + ------------------------- + -- Is_Ancestor_Package -- + ------------------------- + + function Is_Ancestor_Package + (E1 : Entity_Id; + E2 : Entity_Id) return Boolean + is + Par : Entity_Id; + + begin + Par := E2; + while Present (Par) + and then Par /= Standard_Standard + loop + if Par = E1 then + return True; + end if; + + Par := Scope (Par); + end loop; + + return False; + end Is_Ancestor_Package; + ---------------------- -- Is_Atomic_Object -- ---------------------- |

