aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_stmts.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-08-11 17:55:05 +0200
committerTristan Gingold <tgingold@free.fr>2022-08-11 17:55:05 +0200
commit9e1ab116c25aa8c26aa39374e164ec754685f065 (patch)
tree1e160438759b28199ed9188dc2567d72de44c4bc /src/vhdl/vhdl-sem_stmts.adb
parent79a1eba581b60bbe94b0cd8fbbbd002d61e698f6 (diff)
downloadghdl-9e1ab116c25aa8c26aa39374e164ec754685f065.tar.gz
ghdl-9e1ab116c25aa8c26aa39374e164ec754685f065.tar.bz2
ghdl-9e1ab116c25aa8c26aa39374e164ec754685f065.zip
vhdl-sem_stmts: handle external signal names in force assign. Fix #2173
Diffstat (limited to 'src/vhdl/vhdl-sem_stmts.adb')
-rw-r--r--src/vhdl/vhdl-sem_stmts.adb6
1 files changed, 5 insertions, 1 deletions
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));