aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_stmts.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-sem_stmts.adb')
-rw-r--r--src/vhdl/vhdl-sem_stmts.adb4
1 files changed, 4 insertions, 0 deletions
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;