diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-10-03 16:49:19 +0200 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-10-06 11:22:49 +0200 |
commit | 1180b8fb8c74da9991a1e1066961d1b3f2bd6e4b (patch) | |
tree | 0d6ab58d02da29ae1cfbd83133c735e9a5baafa2 /gcc | |
parent | 56a93169a4f413e0a711e973cf34e2ee89151ef4 (diff) | |
download | gcc-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.adb | 2 |
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; |