diff options
author | Yannick Moy <moy@adacore.com> | 2022-05-23 14:27:41 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-05 08:28:18 +0000 |
commit | 1f85342b42b4bf9fee3cd23bc38498a3565bc9f1 (patch) | |
tree | 6cf1c37dbb540331c713b60083ad5f0684056759 | |
parent | 69a70b0acbf01387ec1d1e85d2c7ed0d588d799e (diff) | |
download | gcc-1f85342b42b4bf9fee3cd23bc38498a3565bc9f1.zip gcc-1f85342b42b4bf9fee3cd23bc38498a3565bc9f1.tar.gz gcc-1f85342b42b4bf9fee3cd23bc38498a3565bc9f1.tar.bz2 |
[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.
-rw-r--r-- | gcc/ada/sem_attr.adb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 6a35358..b8d878c 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 |