[gcc r17-2832] Ada: Fix bogus error for 'Unrestricted_Access of overloaded subprogram

Eric Botcazou via Gcc-cvs <[email protected]> Thu, 30 Jul 2026 16:31:39 +0000 (GMT)
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:04f9f5a40c2e11a49c8fff64b90f5cd042fbdcc3

commit r17-2832-g04f9f5a40c2e11a49c8fff64b90f5cd042fbdcc3
Author: Eric Botcazou <[email protected]>
Date:   Thu Jul 30 18:29:51 2026 +0200

    Ada: Fix bogus error for 'Unrestricted_Access of overloaded subprogram
    
    This plugs an old loophole in Analyze_Attribute for the handling of the
    GNAT specific Unrestricted_Access attribute.
    
    gcc/ada/
            PR ada/126482
            * sem_attr.adb (Analyze_Attribute): Treat Unrestricted_Access like
            [Unchecked_]Access when it comes to the overloading of the prefix.

Diff:
---
 gcc/ada/sem_attr.adb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 7ef0145e8722..7180ab813143 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -3527,6 +3527,7 @@ package body Sem_Attr is
         and then Aname /= Name_Code_Address
         and then Aname /= Name_Result
         and then Aname /= Name_Unchecked_Access
+        and then Aname /= Name_Unrestricted_Access
       then
          --  The prefix must be resolvable by itself, without reference to the
          --  attribute. One case that requires special handling is a prefix