From: Etienne Servais Date: Wed, 22 Sep 2021 15:20:27 +0000 (+0200) Subject: [Ada] Build activation chain for BIP only when needed X-Git-Tag: basepoints/gcc-13~3298 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74e514af79c4e01a6ff7fab4b7c7a79cad058c3c;p=thirdparty%2Fgcc.git [Ada] Build activation chain for BIP only when needed gcc/ada/ * exp_ch6.adb (Expand_Actuals): Add a condition to check for the possibility of task. --- diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index 6015993fbc59..fa1a89a0c649 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -2292,8 +2292,11 @@ package body Exp_Ch6 is null; elsif Is_Build_In_Place_Function_Call (Actual) then - Build_Activation_Chain_Entity (N); - Build_Master_Entity (Etype (Actual)); + if Might_Have_Tasks (Etype (Actual)) then + Build_Activation_Chain_Entity (N); + Build_Master_Entity (Etype (Actual)); + end if; + Make_Build_In_Place_Call_In_Anonymous_Context (Actual); -- Ada 2005 (AI-318-02): Specialization of the previous case for