aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-11-21 11:31:29 +0100
committerMarc Poulhiès <poulhies@adacore.com>2022-11-22 13:34:51 +0100
commit61351ab96a4dfa0884c8b1a53342b97915fb5dd7 (patch)
tree97d4f2267286ec550a7863a14300d623fe0c993a
parent05894d1c5c136fe3f8a36cc33cc750c3f5fb6283 (diff)
downloadgcc-61351ab96a4dfa0884c8b1a53342b97915fb5dd7.zip
gcc-61351ab96a4dfa0884c8b1a53342b97915fb5dd7.tar.gz
gcc-61351ab96a4dfa0884c8b1a53342b97915fb5dd7.tar.bz2
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.
-rw-r--r--gcc/ada/sem_prag.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index f2c1a3f..0a91518 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