From 0ce499a09bc3403114d9a1ac8989f29790a64967 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sun, 21 Nov 2021 08:20:50 +0100 Subject: synth-vhdl_expr: emit an error if use of a signal during elaboration. Fix #1920 --- src/synth/synth-vhdl_expr.adb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb index 0d8899465..ee691d8f5 100644 --- a/src/synth/synth-vhdl_expr.adb +++ b/src/synth/synth-vhdl_expr.adb @@ -2171,6 +2171,13 @@ package body Synth.Vhdl_Expr is Res : Valtyp; begin Res := Synth_Name (Syn_Inst, Expr); + if Res.Val /= null + and then Res.Val.Kind = Value_Signal + then + Error_Msg_Synth + (+Expr, "cannot use signal value during elaboration"); + return No_Valtyp; + end if; if Res.Typ /= null and then Res.Typ.W = 0 and then Res.Val.Kind /= Value_Memory then -- cgit v1.2.3