diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-11-21 11:31:29 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-11-22 13:34:51 +0100 |
commit | 61351ab96a4dfa0884c8b1a53342b97915fb5dd7 (patch) | |
tree | 97d4f2267286ec550a7863a14300d623fe0c993a | |
parent | 05894d1c5c136fe3f8a36cc33cc750c3f5fb6283 (diff) | |
download | gcc-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.adb | 5 |
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 |