diff options
author | gingold | 2005-11-22 16:09:10 +0000 |
---|---|---|
committer | gingold | 2005-11-22 16:09:10 +0000 |
commit | 171548c9d708fc13f5b6d3edde30630ee04bd06e (patch) | |
tree | 181c2a4f230ec445277ec4ed6a25c73f25aab3e2 /translate/grt/grt-signals.adb | |
parent | 20e31a50417e5452dcc5797d27dc1383253e3161 (diff) | |
download | ghdl-171548c9d708fc13f5b6d3edde30630ee04bd06e.tar.gz ghdl-171548c9d708fc13f5b6d3edde30630ee04bd06e.tar.bz2 ghdl-171548c9d708fc13f5b6d3edde30630ee04bd06e.zip |
more optimizations + bug fixes
Diffstat (limited to 'translate/grt/grt-signals.adb')
-rw-r--r-- | translate/grt/grt-signals.adb | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/translate/grt/grt-signals.adb b/translate/grt/grt-signals.adb index e0376c2..520fbe4 100644 --- a/translate/grt/grt-signals.adb +++ b/translate/grt/grt-signals.adb @@ -1023,24 +1023,29 @@ package body Grt.Signals is Sig := Sig_Table.Table (I); -- Check drivers. - for J in 1 .. Sig.S.Nbr_Drivers loop - declare - Trans : Transaction_Acc; - begin - Trans := Sig.S.Drivers (J - 1).First_Trans; - while Trans.Next /= null loop - if Trans.Next.Time < Trans.Time then - Internal_Error ("ghdl_signal_internal_checks: " - & "bad transaction order"); - end if; - Trans := Trans.Next; + case Sig.S.Mode_Sig is + when Mode_Signal_User => + for J in 1 .. Sig.S.Nbr_Drivers loop + declare + Trans : Transaction_Acc; + begin + Trans := Sig.S.Drivers (J - 1).First_Trans; + while Trans.Next /= null loop + if Trans.Next.Time < Trans.Time then + Internal_Error ("ghdl_signal_internal_checks: " + & "bad transaction order"); + end if; + Trans := Trans.Next; + end loop; + if Trans /= Sig.S.Drivers (J - 1).Last_Trans then + Internal_Error ("ghdl_signal_internal_checks: " + & "last transaction mismatch"); + end if; + end; end loop; - if Trans /= Sig.S.Drivers (J - 1).Last_Trans then - Internal_Error ("ghdl_signal_internal_checks: " - & "last transaction mismatch"); - end if; - end; - end loop; + when others => + null; + end case; end loop; end Ghdl_Signal_Internal_Checks; |