From 81b6ec49613945b88c06fc49f30bf2388653bb58 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 11 Aug 2022 17:30:07 +0200 Subject: vhdl-sem_stmts.adb: handle signal assignment to external names. Fix #2172 --- src/vhdl/vhdl-sem_stmts.adb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/vhdl/vhdl-sem_stmts.adb b/src/vhdl/vhdl-sem_stmts.adb index 06a59074d..4f0b24de0 100644 --- a/src/vhdl/vhdl-sem_stmts.adb +++ b/src/vhdl/vhdl-sem_stmts.adb @@ -356,6 +356,8 @@ package body Vhdl.Sem_Stmts is when Iir_Kind_Signal_Declaration => Sem_Add_Driver (Target_Object, Stmt); Set_Use_Flag (Target_Prefix, True); + when Iir_Kind_External_Signal_Name => + Sem_Add_Driver (Target_Object, Stmt); when Iir_Kind_Guard_Signal_Declaration => Error_Msg_Sem (+Stmt, "implicit GUARD signal cannot be assigned"); return; @@ -380,6 +382,8 @@ package body Vhdl.Sem_Stmts is and then Is_Parameter (Target_Prefix) then Guarded_Target := Unknown; + elsif Targ_Obj_Kind = Iir_Kind_External_Signal_Name then + Guarded_Target := Unknown; else if Get_Guarded_Signal_Flag (Target_Prefix) then Guarded_Target := True; -- cgit v1.2.3