From 09742fc6ac9ec173e82ebd5eb080474cf129ab32 Mon Sep 17 00:00:00 2001
From: Tristan Gingold <tgingold@free.fr>
Date: Sun, 25 Sep 2022 06:30:53 +0200
Subject: grt: do not initialial GUARD signals on creation.

---
 src/grt/grt-signals.adb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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 =>
-- 
cgit v1.2.3