From 9e1ab116c25aa8c26aa39374e164ec754685f065 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 11 Aug 2022 17:55:05 +0200 Subject: vhdl-sem_stmts: handle external signal names in force assign. Fix #2173 --- src/vhdl/vhdl-sem_stmts.adb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/vhdl/vhdl-sem_stmts.adb b/src/vhdl/vhdl-sem_stmts.adb index 4f0b24de0..c06c3e097 100644 --- a/src/vhdl/vhdl-sem_stmts.adb +++ b/src/vhdl/vhdl-sem_stmts.adb @@ -912,7 +912,7 @@ package body Vhdl.Sem_Stmts is Target_Type := Get_Type (Target); Target_Object := Check_Simple_Signal_Target_Object (Target); Target_Prefix := Get_Object_Prefix (Target_Object); - Constrained := Is_Object_Name_Fully_Constrained (Target_Object); + Constrained := Is_Object_Name_Fully_Constrained (Target); else Constrained := False; end if; @@ -950,6 +950,8 @@ package body Vhdl.Sem_Stmts is -- - If the target is not a port or a signal parameter, -- a force mode of IN is used. Set_Force_Mode (Stmt, Iir_Force_In); + when Iir_Kind_External_Signal_Name => + null; when others => Error_Msg_Sem (+Stmt, "target (%n) is not a signal", +Get_Base_Name (Target)); @@ -970,6 +972,8 @@ package body Vhdl.Sem_Stmts is | Iir_Kind_Guard_Signal_Declaration => -- FIXME: guard is dubious null; + when Iir_Kind_External_Signal_Name => + null; when others => Error_Msg_Sem (+Stmt, "target (%n) is not a signal", +Get_Base_Name (Target)); -- cgit v1.2.3