aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/synth/synth-vhdl_expr.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb
index 3f3a62760..98dd16f7b 100644
--- a/src/synth/synth-vhdl_expr.adb
+++ b/src/synth/synth-vhdl_expr.adb
@@ -2256,6 +2256,9 @@ package body Synth.Vhdl_Expr is
Dtype := Get_Subtype_Object (Syn_Inst, Get_Type (Expr));
-- FIXME: to be generalized. Not always as simple as a
-- subtype conversion.
+ if Is_Static (V.Val) then
+ V := Create_Value_Discrete (Read_Discrete (V), Dtype);
+ end if;
return Synth_Subtype_Conversion
(Syn_Inst, V, Dtype, False, Expr);
end;