From: Piotr Trojanek <troja...@adacore.com> 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. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_ch9.adb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index 6506358a02b..f2a59017865 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; -- 2.34.1