[gcc r13-4234] ada: Accept aspects Global and Depends on abstract subprograms

Marc Poulhi?s dkm@gcc.gnu.org
Tue Nov 22 12:36:15 GMT 2022


https://gcc.gnu.org/g:61351ab96a4dfa0884c8b1a53342b97915fb5dd7

commit r13-4234-g61351ab96a4dfa0884c8b1a53342b97915fb5dd7
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Mon Nov 21 11:31:29 2022 +0100

    ada: Accept aspects Global and Depends on abstract subprograms
    
    Aspects Global and Depends are now allowed on abstract subprograms
    (as substitutes for Global'Class and Depends'Class).
    
    This patch implements the recently modified rules SPARK RM 6.1.2(2-3).
    The behavior for Contract_Cases and aspects on null subprograms stays
    as it was.
    
    gcc/ada/
    
            * sem_prag.adb (Analyze_Depends_Global): Accept aspects on
            abstract subprograms.

Diff:
---
 gcc/ada/sem_prag.adb | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index f2c1a3f0e6e..0a91518cff9 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -4549,6 +4549,11 @@ package body Sem_Prag is
          elsif Nkind (Subp_Decl) = N_Single_Task_Declaration then
             null;
 
+         --  Abstract subprogram declaration
+
+         elsif Nkind (Subp_Decl) = N_Abstract_Subprogram_Declaration then
+            null;
+
          --  Subprogram body acts as spec
 
          elsif Nkind (Subp_Decl) = N_Subprogram_Body


More information about the Gcc-cvs mailing list