aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViljar Indus <indus@adacore.com>2024-02-22 14:27:14 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-05-16 10:49:32 +0200
commitc3b570b5d9354a2366c29c4eb8eaa41c1d087e41 (patch)
treefd9116858893f4e2be0c10d0286a6c8ed472c80a
parentc485a154ae0cfa1a63c79a1f3b82d6f2d4a107b5 (diff)
downloadgcc-c3b570b5d9354a2366c29c4eb8eaa41c1d087e41.zip
gcc-c3b570b5d9354a2366c29c4eb8eaa41c1d087e41.tar.gz
gcc-c3b570b5d9354a2366c29c4eb8eaa41c1d087e41.tar.bz2
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.
-rw-r--r--gcc/ada/sem_ch6.adb7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index 0a8030c..ca40b54 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;