aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-09-25 06:30:53 +0200
committerTristan Gingold <tgingold@free.fr>2022-09-25 11:43:28 +0200
commit09742fc6ac9ec173e82ebd5eb080474cf129ab32 (patch)
treede5b4b87dc20c03f8a509ba036193986c3d6a913
parentea0d1d7dbf62673776ee594646e5ea0f1f34323e (diff)
downloadghdl-09742fc6ac9ec173e82ebd5eb080474cf129ab32.tar.gz
ghdl-09742fc6ac9ec173e82ebd5eb080474cf129ab32.tar.bz2
ghdl-09742fc6ac9ec173e82ebd5eb080474cf129ab32.zip
grt: do not initialial GUARD signals on creation.
-rw-r--r--src/grt/grt-signals.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/grt/grt-signals.adb b/src/grt/grt-signals.adb
index 2910bc9dc..5c542a38e 100644
--- a/src/grt/grt-signals.adb
+++ b/src/grt/grt-signals.adb
@@ -1631,7 +1631,6 @@ package body Grt.Signals is
is
Res : Ghdl_Signal_Ptr;
begin
- Val_Ptr.B1 := Proc.all (This);
Res := Create_Signal (Mode_B1, Val_Ptr, Mode_Guard, null, Null_Address);
Res.S.Guard_Func := Proc;
Res.S.Guard_Instance := This;
@@ -3878,6 +3877,10 @@ package body Grt.Signals is
for I in Sig_Table.First .. Sig_Table.Last loop
Sig := Sig_Table.Table (I);
+ if Sig.S.Mode_Sig = Mode_Guard then
+ Sig.Value_Ptr.B1 := Sig.S.Guard_Func.all (Sig.S.Guard_Instance);
+ end if;
+
case Sig.Net is
when Net_One_Driver
| Net_One_Direct =>