diff options
Diffstat (limited to 'src/vhdl/vhdl-sem_expr.adb')
-rw-r--r-- | src/vhdl/vhdl-sem_expr.adb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb index d4a8ef84e..2c9bd8645 100644 --- a/src/vhdl/vhdl-sem_expr.adb +++ b/src/vhdl/vhdl-sem_expr.adb @@ -3887,6 +3887,7 @@ package body Vhdl.Sem_Expr is Sub_Aggr := Get_Associated_Expr (Choice); case Get_Kind (Sub_Aggr) is when Iir_Kind_Aggregate => + Set_Determined_Aggregate_Flag (Sub_Aggr, Constrained); Sem_Array_Aggregate_1 (Sub_Aggr, A_Type, Infos, Constrained, Dim + 1); if not Get_Aggregate_Expand_Flag (Sub_Aggr) then @@ -4405,6 +4406,8 @@ package body Vhdl.Sem_Expr is Set_Expr_Staticness (Expr, Globally); end if; + Set_Determined_Aggregate_Flag (Expr, Constrained); + Set_Type (Expr, A_Type); -- FIXME: should free old type case Get_Kind (A_Type) is when Iir_Kind_Array_Subtype_Definition => |