From d302be6eba3f7c09ca01496fd2172c6aeb8967b3 Mon Sep 17 00:00:00 2001 From: Justin Squirek Date: Sun, 23 Aug 2020 13:38:16 -0400 Subject: [PATCH] [Ada] Wrong accessibility for conversion to named access gcc/ada/ * sem_util.adb (Accessibility_Level_Helper): Conversions to named access types get the level associated with the named access type. --- gcc/ada/sem_util.adb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 30c537643f7..89c3f4865b4 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -751,6 +751,13 @@ package body Sem_Util is then return Accessibility_Level_Helper (Expression (E), Static); + -- We don't care about the master if we are looking at a named + -- access type. + + elsif Is_Named_Access_Type (Etype (E)) then + return Make_Level_Literal + (Type_Access_Level (Etype (E))); + -- In section RM 3.10.2 (10/4) the accessibility rules for -- aggregates and value conversions are outlined. Are these -- followed in the case of initialization of an object ??? -- 2.30.2