[gcc r16-9467] Ada: Fix bogus error for 'Unrestricted_Access of overloaded subprogram

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

commit r16-9467-gb015cc22bf492af22a912199a1ea93879bbfc5a7
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 26bd7b5dbd60..730f2ac161ae 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -3373,6 +3373,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