]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Build activation chain for BIP only when needed
authorEtienne Servais <servais@adacore.com>
Wed, 22 Sep 2021 15:20:27 +0000 (17:20 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 9 Nov 2021 09:44:46 +0000 (09:44 +0000)
gcc/ada/

* exp_ch6.adb (Expand_Actuals): Add a condition to check for the
possibility of task.

gcc/ada/exp_ch6.adb

index 6015993fbc59016b262bf2c6bc94dafe315987ed..fa1a89a0c649a4790b8f56e2d6fb79ed5adb54d9 100644 (file)
@@ -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