From: Ghjuvan Lacambre Date: Tue, 15 Mar 2022 09:57:45 +0000 (+0100) Subject: [Ada] Don't create calls to Abort_Undefer when not Abort_Allowed X-Git-Tag: basepoints/gcc-14~6675 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e2d6b8e8ead146f6d7e314c9d6763bbefc7459b;p=thirdparty%2Fgcc.git [Ada] Don't create calls to Abort_Undefer when not Abort_Allowed Prevent creation of references to Abort_Undefer when aborts aren't allowed. Another solution could have been an early return at Expand_N_Asynchronous_Select's beginning, but this would break backends that currently expect trees that do not contain any N_Asynchronous_Selects in their AST (e.g. CodePeer). gcc/ada/ * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate Abort_Undefers when not Abort_Allowed. --- diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index f7067805979..0e551ab868c 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -7812,7 +7812,9 @@ package body Exp_Ch9 is Hdle := New_List (Build_Abort_Block_Handler (Loc)); - Prepend_To (Astats, Build_Runtime_Call (Loc, RE_Abort_Undefer)); + if Abort_Allowed then + Prepend_To (Astats, Build_Runtime_Call (Loc, RE_Abort_Undefer)); + end if; Abortable_Block := Make_Block_Statement (Loc,