aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-11-06 04:17:40 +0100
committerTristan Gingold <tgingold@free.fr>2019-11-06 04:18:07 +0100
commitf7887b6234530f435142c99e0eeb7b67bfe85020 (patch)
treeec8afb30f55146b199042447517c0a1199b21e55 /src
parent08801396bacc680cc150f4bd39bddae7df016aa2 (diff)
downloadghdl-f7887b6234530f435142c99e0eeb7b67bfe85020.tar.gz
ghdl-f7887b6234530f435142c99e0eeb7b67bfe85020.tar.bz2
ghdl-f7887b6234530f435142c99e0eeb7b67bfe85020.zip
synth-expr: do subtype conversion in fill_record_aggregate. Fix #1009
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-expr.adb3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb
index fddc32954..0e3b4cc46 100644
--- a/src/synth/synth-expr.adb
+++ b/src/synth/synth-expr.adb
@@ -423,7 +423,8 @@ package body Synth.Expr is
El_Type := Get_Value_Type
(Syn_Inst, Get_Type (Get_Nth_Element (El_List, Pos)));
Val := Synth_Expression_With_Type (Syn_Inst, Value, El_Type);
- Rec.V (Iir_Index32 (Pos + 1)) := Val;
+ Rec.V (Iir_Index32 (Pos + 1)) := Synth_Subtype_Conversion
+ (Val, El_Type, False, Value);
if Const_P and not Is_Const (Val) then
Const_P := False;
end if;