https://gcc.gnu.org/g:c3b570b5d9354a2366c29c4eb8eaa41c1d087e41
commit r15-562-gc3b570b5d9354a2366c29c4eb8eaa41c1d087e41 Author: Viljar Indus <in...@adacore.com> Date: Thu Feb 22 14:27:14 2024 +0200 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. Diff: --- 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 0a8030cb9236..ca40b5479e09 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;