[gcc r14-1975] ada: Fix for attribute Range in Exceptional_Cases

Marc Poulhi?s dkm@gcc.gnu.org
Tue Jun 20 07:47:02 GMT 2023


https://gcc.gnu.org/g:b367a66cfb620b88338111eebd549cc2fad1c16b

commit r14-1975-gb367a66cfb620b88338111eebd549cc2fad1c16b
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Mon Jun 5 10:30:39 2023 +0200

    ada: Fix for attribute Range in Exceptional_Cases
    
    Attribute Range is now handled like First and Last when occurring within
    the consequence of Exceptional_Cases, i.e. attribute Range is not
    considered to be a read of a formal parameter that would not be allowed
    in the contract.
    
    gcc/ada/
    
            * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last.

Diff:
---
 gcc/ada/sem_res.adb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 6867c8f1275..ef3b877f5db 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -8124,7 +8124,8 @@ package body Sem_Res is
                             Attribute_Name (Parent (N)) in Name_Constrained
                                                          | Name_First
                                                          | Name_Last
-                                                         | Name_Length)
+                                                         | Name_Length
+                                                         | Name_Range)
               and then not Is_By_Reference_Type (Etype (E))
               and then not Is_Aliased (E)
             then


More information about the Gcc-cvs mailing list