From c3b570b5d9354a2366c29c4eb8eaa41c1d087e41 Mon Sep 17 00:00:00 2001 From: Viljar Indus Date: Thu, 22 Feb 2024 14:27:14 +0200 Subject: [PATCH] ada: Avoid checking parameters of protected procedures The compiler triggers warnings on generated protected procedures if the procedure does not have an explicit spec. Instead check if the body was created for a protected procedure if the spec is not present. gcc/ada/ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the spec is not present for a subprogram body then check if the body definiton was created for a protected procedure. --- gcc/ada/sem_ch6.adb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 0a8030cb923..ca40b5479e0 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -4971,8 +4971,11 @@ package body Sem_Ch6 is -- Skip the check for subprograms generated for protected subprograms -- because it is also done for the protected subprograms themselves. - elsif Present (Spec_Id) - and then Present (Protected_Subprogram (Spec_Id)) + elsif (Present (Spec_Id) + and then Present (Protected_Subprogram (Spec_Id))) + or else + (Acts_As_Spec (N) + and then Present (Protected_Subprogram (Body_Id))) then null; -- 2.47.2