aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-10-03 16:49:19 +0200
committerMarc Poulhiès <poulhies@adacore.com>2022-10-06 11:22:49 +0200
commit1180b8fb8c74da9991a1e1066961d1b3f2bd6e4b (patch)
tree0d6ab58d02da29ae1cfbd83133c735e9a5baafa2 /gcc
parent56a93169a4f413e0a711e973cf34e2ee89151ef4 (diff)
downloadgcc-1180b8fb8c74da9991a1e1066961d1b3f2bd6e4b.zip
gcc-1180b8fb8c74da9991a1e1066961d1b3f2bd6e4b.tar.gz
gcc-1180b8fb8c74da9991a1e1066961d1b3f2bd6e4b.tar.bz2
ada: Reject conditional goto in lock-free protected subprograms
In lock-free protected subprograms we don't allow goto statements; likewise, we now reject conditional goto statements. This fix only affects semantic checking mode with switch -gnatc. In ordinary compilation we already rejected conditional goto after it was expanded into ordinary goto. gcc/ada/ * sem_ch9.adb (Allows_Lock_Free_Implementation): Reject conditional goto statements.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_ch9.adb2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb
index 6506358..f2a5901 100644
--- a/gcc/ada/sem_ch9.adb
+++ b/gcc/ada/sem_ch9.adb
@@ -453,7 +453,7 @@ package body Sem_Ch9 is
-- Goto statements restricted
- elsif Kind = N_Goto_Statement then
+ elsif Kind in N_Goto_Statement | N_Goto_When_Statement then
if Lock_Free_Given then
Error_Msg_N ("goto statement not allowed", N);
return Skip;