diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-11-28 06:10:47 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-11-28 06:10:47 +0100 |
commit | 5e5355d878c3b5259b133ff0fdebe318cb5338d5 (patch) | |
tree | ac500e76243d714aefab7f61f972d97fa59f8bae /src/vhdl/translate/trans-chap8.adb | |
parent | c5f48631616aaa6b4c8a03031f0458fdcba90b68 (diff) | |
download | ghdl-5e5355d878c3b5259b133ff0fdebe318cb5338d5.tar.gz ghdl-5e5355d878c3b5259b133ff0fdebe318cb5338d5.tar.bz2 ghdl-5e5355d878c3b5259b133ff0fdebe318cb5338d5.zip |
sem_expr: allow non-static length aggregate.
For #676
Diffstat (limited to 'src/vhdl/translate/trans-chap8.adb')
-rw-r--r-- | src/vhdl/translate/trans-chap8.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vhdl/translate/trans-chap8.adb b/src/vhdl/translate/trans-chap8.adb index 22921dd13..7726c3719 100644 --- a/src/vhdl/translate/trans-chap8.adb +++ b/src/vhdl/translate/trans-chap8.adb @@ -4308,7 +4308,11 @@ package body Trans.Chap8 is if Get_Kind (Target) = Iir_Kind_Aggregate then Chap3.Translate_Anonymous_Subtype_Definition (Target_Type, False); Targ := Create_Temp (Get_Info (Target_Type), Mode_Signal); - Chap4.Allocate_Complex_Object (Target_Type, Alloc_Stack, Targ); + if Get_Constraint_State (Target_Type) /= Fully_Constrained then + raise Internal_Error; + else + Chap4.Allocate_Complex_Object (Target_Type, Alloc_Stack, Targ); + end if; Translate_Signal_Target_Aggr (Targ, Target, Target_Type); else if Mechanism = Signal_Assignment_Direct then |