ada: Fix internal error on nested aggregate in conditional expression
This plugs a loophole in the change improving code generation for nested aggregates present in conditional expressions: once the delayed expansion is chosen for the nested aggregate, the expansion of the parent aggregate cannot be left to the back-end and the test must be adjusted to implement this in the presence of conditional expressions too. gcc/ada/ * exp_aggr.adb (Expand_Record_Aggregate.Component_OK_For_Backend): Also return False for a delayed conditional expression.
This commit is contained in:
parent
efc7ba5f8f
commit
bfa743ddc9
1 changed files with 3 additions and 1 deletions
|
@ -8376,7 +8376,9 @@ package body Exp_Aggr is
|
|||
Static_Components := False;
|
||||
return False;
|
||||
|
||||
elsif Is_Delayed_Aggregate (Expr_Q) then
|
||||
elsif Is_Delayed_Aggregate (Expr_Q)
|
||||
or else Is_Delayed_Conditional_Expression (Expr_Q)
|
||||
then
|
||||
Static_Components := False;
|
||||
return False;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue