===================================================================
@@ -3138,7 +3138,7 @@
and then not Is_Frozen (Current_Scope)
then
if No (Scope_Stack.Table
- (Scope_Stack.Last).Pending_Freeze_Actions)
+ (Scope_Stack.Last).Pending_Freeze_Actions)
then
Scope_Stack.Table (Scope_Stack.Last).Pending_Freeze_Actions :=
Ins_Actions;
@@ -3306,13 +3306,13 @@
return;
-- Case of appearing within an Expressions_With_Actions node. We
- -- prepend the actions to the list of actions already there, if
+ -- append the actions to the list of actions already there, if
-- the node has not been analyzed yet. Otherwise find insertion
-- location further up the tree.
when N_Expression_With_Actions =>
if not Analyzed (P) then
- Prepend_List (Ins_Actions, Actions (P));
+ Append_List (Ins_Actions, Actions (P));
return;
end if;
===================================================================
@@ -75,6 +75,9 @@
-- expansion of the N_If_Expression node rewrites the node so that the
-- actions can be positioned normally.
+ -- For actions coming from expansion of the expression in an expression
+ -- with actions node, the action is appended to the list of actions.
+
-- Basically what we do is to climb up to the tree looking for the
-- proper insertion point, as described by one of the above cases,
-- and then insert the appropriate action or actions.