aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch6.adb
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-11-16 15:56:41 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-11-16 15:56:41 +0000
commitd2ca577995765e99c5cb21d30ab3baf81398ce39 (patch)
tree8d82214825fa0e7f0b78b1314b1f83ec4ebf42c6 /gcc/ada/exp_ch6.adb
parentc82387ccc48a6659b3d4cd206cab30f87894ca0e (diff)
downloadgcc-d2ca577995765e99c5cb21d30ab3baf81398ce39.zip
gcc-d2ca577995765e99c5cb21d30ab3baf81398ce39.tar.gz
gcc-d2ca577995765e99c5cb21d30ab3baf81398ce39.tar.bz2
[multiple changes]
2017-11-16 Steve Baird <baird@adacore.com> * debug.adb: Update another comment to indicate gnat2scil's use of the -gnatd.7 switch. 2017-11-16 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_Call_Helper): Avoid creating a transient scope in the case of nested build-in-place calls. From-SVN: r254827
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;