diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-08-11 17:55:05 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-08-11 17:55:05 +0200 |
commit | 9e1ab116c25aa8c26aa39374e164ec754685f065 (patch) | |
tree | 1e160438759b28199ed9188dc2567d72de44c4bc /src/vhdl | |
parent | 79a1eba581b60bbe94b0cd8fbbbd002d61e698f6 (diff) | |
download | ghdl-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')
-rw-r--r-- | src/vhdl/vhdl-sem_stmts.adb | 6 |
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)); |