aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2023-05-16 11:35:23 +0200
committerMarc Poulhiès <poulhies@adacore.com>2023-06-15 09:59:37 +0200
commit9cdaa52bf8e0529c3d4d13121c440f92113ff05d (patch)
treec7faa39801a9c16cdccaf50f1687cc1b8cb96d0f /gcc/ada
parentc8c5bf93aaa481d4b08491d4545b74e2b329d16d (diff)
downloadgcc-9cdaa52bf8e0529c3d4d13121c440f92113ff05d.zip
gcc-9cdaa52bf8e0529c3d4d13121c440f92113ff05d.tar.gz
gcc-9cdaa52bf8e0529c3d4d13121c440f92113ff05d.tar.bz2
ada: Revert latest change to Find_Hook_Context
The issue is that, if an aggregate is both below a conditional expression and above another conditional expression in the tree, we have currently no place to put the finalization actions generated by the innermost expression in the context of the aggregate before it is expanded, so they end up being placed after the outermost expression. But it is not clear whether that's really problematic because this does not seem to happen for array aggregates with multiple or others choices: in this case the aggregate is expanded first and the code path is not taken. gcc/ada/ * exp_util.adb (Find_Hook_Context): Revert latest change.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/exp_util.adb10
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index a4aa5f6..9195979 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -6500,16 +6500,6 @@ package body Exp_Util is
then
Top := Par;
- -- Stop at contexts where temporaries may be contained
-
- elsif Nkind (Par) in N_Aggregate
- | N_Delta_Aggregate
- | N_Extension_Aggregate
- | N_Block_Statement
- | N_Loop_Statement
- then
- exit;
-
-- Prevent the search from going too far
elsif Is_Body_Or_Package_Declaration (Par) then