From: Piotr Trojanek <troja...@adacore.com> 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. Tested on x86_64-pc-linux-gnu, committed on master. --- 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 -- 2.34.1