]> gcc.gnu.org Git - gcc.git/commitdiff
[Ada] Spurious error on qualified prefix in Pack.Func'Result
authorYannick Moy <moy@adacore.com>
Mon, 23 May 2022 12:27:41 +0000 (14:27 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 5 Jul 2022 08:28:18 +0000 (08:28 +0000)
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

index 6a35358261e5199461027dbf7306477a2fee9064..b8d878c3d6d9690180d3f76a45366cce89be29a4 100644 (file)
@@ -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
This page took 0.06908 seconds and 5 git commands to generate.