aboutsummaryrefslogtreecommitdiffstats
path: root/src/simul
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-10-14 06:43:27 +0200
committerTristan Gingold <tgingold@free.fr>2022-10-14 06:43:27 +0200
commit0cb267c3cd2fad19d74ff04340b1fdd65055d9e4 (patch)
tree83d6cab6bb81025a0e8475e90782bbc7bfe72e71 /src/simul
parent690ad01b53efc31610a97992cbdc8efb1e03e155 (diff)
downloadghdl-0cb267c3cd2fad19d74ff04340b1fdd65055d9e4.tar.gz
ghdl-0cb267c3cd2fad19d74ff04340b1fdd65055d9e4.tar.bz2
ghdl-0cb267c3cd2fad19d74ff04340b1fdd65055d9e4.zip
simul: fix spurious error about multiple drivers
Diffstat (limited to 'src/simul')
-rw-r--r--src/simul/simul-vhdl_elab.adb2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/simul/simul-vhdl_elab.adb b/src/simul/simul-vhdl_elab.adb
index bdc6bdf9b..24e79aa17 100644
--- a/src/simul/simul-vhdl_elab.adb
+++ b/src/simul/simul-vhdl_elab.adb
@@ -458,6 +458,7 @@ package body Simul.Vhdl_Elab is
Loc : Node)
is
S : Signal_Entry renames Signals_Table.Table (Sig.Base);
+ Resolved : constant Boolean := Get_Resolved_Flag (Get_Type (S.Decl));
Need_It : Boolean;
begin
pragma Assert (Sig.Typ.Wkind = Wkind_Sim);
@@ -478,6 +479,7 @@ package body Simul.Vhdl_Elab is
if not Need_It
and then Ns.Nbr_Drivers > 0
and then Ns.Total = 0
+ and then not Resolved
then
Error_Msg_Elab (Loc, "too many drivers for %n", +S.Decl);
end if;