diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-11-15 06:37:29 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-11-15 06:37:29 +0100 |
commit | e973f74ed2b05170ad0ff4fbaca1998a2f70787c (patch) | |
tree | 0f1e5f04709a33c3d8e16c110bba0f786e579426 /src/grt | |
parent | c4a49156d90fed4b111ecb8c75d34669a006f9aa (diff) | |
download | ghdl-e973f74ed2b05170ad0ff4fbaca1998a2f70787c.tar.gz ghdl-e973f74ed2b05170ad0ff4fbaca1998a2f70787c.tar.bz2 ghdl-e973f74ed2b05170ad0ff4fbaca1998a2f70787c.zip |
grt-signals: fix thinko in delayed_implicit_process.
Fix #458
Diffstat (limited to 'src/grt')
-rw-r--r-- | src/grt/grt-signals.adb | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/grt/grt-signals.adb b/src/grt/grt-signals.adb index a681e1360..976bad67b 100644 --- a/src/grt/grt-signals.adb +++ b/src/grt/grt-signals.adb @@ -647,7 +647,8 @@ package body Grt.Signals is -- AFTER > 0. -- Put SIGN on the future list. if Sign.Flink = null then - Sign.Flink := Grt.Threads.Atomic_Insert (Future_List'access, Sign); + Sign.Flink := Future_List; + Future_List := Sign; end if; end if; @@ -2892,7 +2893,6 @@ package body Grt.Signals is Ntime : Std_Time; Trans : Transaction_Acc; Last : Transaction_Acc; - Prev : Transaction_Acc; Val : Value_Union; begin if Pfx.Event then @@ -2906,9 +2906,7 @@ package body Grt.Signals is -- Find the last transaction. Last := Sig.S.Attr_Trans; - Prev := Last; while Last.Next /= null loop - Prev := Last; Last := Last.Next; end loop; @@ -2929,7 +2927,7 @@ package body Grt.Signals is Val => Val); -- Append the transaction. - Prev.Next := Trans; + Last.Next := Trans; end if; if Sig.S.Time = 0 then |