diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-08-11 17:30:07 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-08-11 17:30:07 +0200 |
commit | 81b6ec49613945b88c06fc49f30bf2388653bb58 (patch) | |
tree | 3ebe8a2c8a1138940bfc5842adddc893f689b13b /src | |
parent | d4d4d0706e4c70a64ed196447d3e7ed837bfc5b0 (diff) | |
download | ghdl-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')
-rw-r--r-- | src/vhdl/vhdl-sem_stmts.adb | 4 |
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; |