diff options
author | Ghjuvan Lacambre <lacambre@adacore.com> | 2021-10-27 13:26:38 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-11-09 09:44:49 +0000 |
commit | 51e99ead9197fe4d6a8db8e9746e821abce76213 (patch) | |
tree | 7b4c40670bd02557d5342fa6dfb502033e16756d | |
parent | cbe421bd45d1994524b7312ab521dcc8b51cbfc6 (diff) | |
download | gcc-51e99ead9197fe4d6a8db8e9746e821abce76213.zip gcc-51e99ead9197fe4d6a8db8e9746e821abce76213.tar.gz gcc-51e99ead9197fe4d6a8db8e9746e821abce76213.tar.bz2 |
[Ada] Accessibility fix
gcc/ada/
* sem_util.adb (Accessibility_Level): Use init_proc_level_formal
instead of computing a new accessibility level from Scope_Depth
(E).
-rw-r--r-- | gcc/ada/sem_util.adb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index bc51a60..c8362f5 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -744,6 +744,13 @@ package body Sem_Util is then return Accessibility_Level (Related_Expression (E)); + elsif Level = Dynamic_Level + and then Ekind (E) in E_In_Parameter | E_In_Out_Parameter + and then Present (Init_Proc_Level_Formal (Scope (E))) + then + return New_Occurrence_Of + (Init_Proc_Level_Formal (Scope (E)), Loc); + -- Normal object - get the level of the enclosing scope else |