aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-split.cc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2023-06-01 15:43:41 +0200
committerMarc Poulhiès <poulhies@adacore.com>2023-06-27 14:05:50 +0200
commitfb36f0187808d8486b9eb7442aacf13e7e2d3ed9 (patch)
tree662c6e712015994af331d11cbc070397c190d9af /gcc/tree-ssa-loop-split.cc
parent1f8d6836261e0089454277d79b1d2ae2f940746b (diff)
downloadgcc-fb36f0187808d8486b9eb7442aacf13e7e2d3ed9.zip
gcc-fb36f0187808d8486b9eb7442aacf13e7e2d3ed9.tar.gz
gcc-fb36f0187808d8486b9eb7442aacf13e7e2d3ed9.tar.bz2
ada: Fix too late finalization and secondary stack release in iterator loops
Sem_Ch5 contains an entire machinery to deal with finalization actions and secondary stack releases around iterator loops, so this removes a recent fix that was made in a narrower case and instead refines the condition under which this machinery is triggered. As a side effect, given that finalization and secondary stack management are still entangled in this machinery, this also fixes the counterpart of a leak for the former, which is a finalization occurring too late. gcc/ada/ * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest change as it is subsumed by the machinery in Sem_Ch5. * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop statement in a block in the name contains a function call that returns on the secondary stack.
Diffstat (limited to 'gcc/tree-ssa-loop-split.cc')
0 files changed, 0 insertions, 0 deletions