aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_stmts.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-08-11 17:30:07 +0200
committerTristan Gingold <tgingold@free.fr>2022-08-11 17:30:07 +0200
commit81b6ec49613945b88c06fc49f30bf2388653bb58 (patch)
tree3ebe8a2c8a1138940bfc5842adddc893f689b13b /src/vhdl/vhdl-sem_stmts.adb
parentd4d4d0706e4c70a64ed196447d3e7ed837bfc5b0 (diff)
downloadghdl-81b6ec49613945b88c06fc49f30bf2388653bb58.tar.gz
ghdl-81b6ec49613945b88c06fc49f30bf2388653bb58.tar.bz2
ghdl-81b6ec49613945b88c06fc49f30bf2388653bb58.zip
vhdl-sem_stmts.adb: handle signal assignment to external names. Fix #2172
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;