aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap8.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-11-28 06:10:47 +0100
committerTristan Gingold <tgingold@free.fr>2018-11-28 06:10:47 +0100
commit5e5355d878c3b5259b133ff0fdebe318cb5338d5 (patch)
treeac500e76243d714aefab7f61f972d97fa59f8bae /src/vhdl/translate/trans-chap8.adb
parentc5f48631616aaa6b4c8a03031f0458fdcba90b68 (diff)
downloadghdl-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.adb6
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