aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.cc
diff options
context:
space:
mode:
authorMarc Poulhiès <poulhies@adacore.com>2023-09-14 13:32:05 +0200
committerMarc Poulhiès <poulhies@adacore.com>2023-09-26 13:43:18 +0200
commita1c78073051327da96f2321234e71d302a6df671 (patch)
treeb9dcf0080388de03b12157c5867fa04c75164dd0 /gcc/tree-ssa-phiopt.cc
parent52a7e4c75f16f9cd441a7a73142840f7c43c1224 (diff)
downloadgcc-a1c78073051327da96f2321234e71d302a6df671.zip
gcc-a1c78073051327da96f2321234e71d302a6df671.tar.gz
gcc-a1c78073051327da96f2321234e71d302a6df671.tar.bz2
ada: Fix unnesting generated loops with nested finalization procedure
The compiler can generate loops for creating array aggregates, for example used during the initialization of variable. If the component type of the array element requires finalization, the compiler also creates a block and a nested procedure that need to be correctly unnested if unnesting is enabled. During the unnesting transformation, the scopes for these inner blocks need to be fixed and set to the enclosing loop entity. gcc/ada/ * exp_ch7.adb (Contains_Subprogram): Recursively search for subp in loop's statements. (Unnest_Loop)<Fixup_Inner_Scopes>: New. (Unnest_Loop): Rename local variable for more clarity. * exp_unst.ads: Refresh comment.
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
0 files changed, 0 insertions, 0 deletions