From 1f85342b42b4bf9fee3cd23bc38498a3565bc9f1 Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Mon, 23 May 2022 14:27:41 +0200 Subject: [PATCH] [Ada] Spurious error on qualified prefix in Pack.Func'Result When using a qualified name such as Pack.Func as the prefix of a 'Result attribute reference, the prefix is not fully resolved and may contain a chain of homonyms. Look for the expected function in the homonym chain instead of issuing an error if the first one is not the expected one. gcc/ada/ * sem_attr.adb (Analyze_Attribute): Take into account the possibility of homonyms. --- gcc/ada/sem_attr.adb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 6a35358261e..b8d878c3d6d 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -5835,6 +5835,12 @@ package body Sem_Attr is elsif Present (Over_Id) and then Pref_Id = Over_Id then return True; + + -- When a qualified name is used for the prefix, homonyms may come + -- before the current function in the homonym chain. + + elsif Has_Homonym (Pref_Id) then + return Denote_Same_Function (Homonym (Pref_Id), Spec_Id); end if; -- Otherwise the prefix does not denote the related subprogram -- 2.11.4.GIT