[gcc r12-1613] [Ada] Relax null exclusion mismatch check in Relaxed_RM_Semantics mode

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Fri Jun 18 08:37:49 GMT 2021


https://gcc.gnu.org/g:0becb0faaecc79df3de24bd5467b90cfd08a829a

commit r12-1613-g0becb0faaecc79df3de24bd5467b90cfd08a829a
Author: Arnaud Charlet <charlet@adacore.com>
Date:   Mon Mar 15 03:45:35 2021 -0400

    [Ada] Relax null exclusion mismatch check in Relaxed_RM_Semantics mode
    
    gcc/ada/
    
            * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
            mismatch check when Relaxed_RM_Semantics is set.

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

diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index 7bca9df7225..d46d3f30326 100644
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -6265,7 +6265,9 @@ package body Sem_Ch6 is
 
             --  Null exclusion must match
 
-            if not Null_Exclusions_Match (Old_Formal, New_Formal) then
+            if not Relaxed_RM_Semantics
+              and then not Null_Exclusions_Match (Old_Formal, New_Formal)
+            then
                Conformance_Error
                  ("\null exclusion for& does not match", New_Formal);


More information about the Gcc-cvs mailing list