aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch6.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_ch6.adb')
-rw-r--r--gcc/ada/exp_ch6.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index 357979e..0b36110 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -4354,6 +4354,10 @@ package body Exp_Ch6 is
N_Procedure_Call_Statement,
N_Selected_Component,
N_Slice)
+ and then
+ (Ekind (Current_Scope) /= E_Loop
+ or else Nkind (Parent (N)) /= N_Function_Call
+ or else not Is_Build_In_Place_Function_Call (Parent (N)))
then
Establish_Transient_Scope (Call_Node, Sec_Stack => True);
end if;