aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-07-16 08:29:43 +0200
committerTristan Gingold <tgingold@free.fr>2022-07-16 08:29:43 +0200
commit37d38f613b065b59b6d13aabaad3295861504296 (patch)
tree3e031587d2e527b5f00e2097ae081499c35771e2 /src/grt
parentdf6283274a67f9d3810b8ff6a91c6a4885c5797f (diff)
downloadghdl-37d38f613b065b59b6d13aabaad3295861504296.tar.gz
ghdl-37d38f613b065b59b6d13aabaad3295861504296.tar.bz2
ghdl-37d38f613b065b59b6d13aabaad3295861504296.zip
grt-types: add Mode_Above
Diffstat (limited to 'src/grt')
-rw-r--r--src/grt/grt-disp_signals.adb5
-rw-r--r--src/grt/grt-signals.adb13
-rw-r--r--src/grt/grt-signals.ads1
-rw-r--r--src/grt/grt-types.ads3
4 files changed, 15 insertions, 7 deletions
diff --git a/src/grt/grt-disp_signals.adb b/src/grt/grt-disp_signals.adb
index 4283bdd02..d7d5df4fa 100644
--- a/src/grt/grt-disp_signals.adb
+++ b/src/grt/grt-disp_signals.adb
@@ -399,8 +399,7 @@ package body Grt.Disp_Signals is
end Disp_Signals_Map;
-- Option --disp-signals-table
- procedure Disp_Mode_Signal (Mode : Mode_Signal_Type)
- is
+ procedure Disp_Mode_Signal (Mode : Mode_Signal_Type) is
begin
case Mode is
when Mode_Signal =>
@@ -423,6 +422,8 @@ package body Grt.Disp_Signals is
Put ("transaction");
when Mode_Delayed =>
Put ("delayed");
+ when Mode_Above =>
+ Put ("above");
when Mode_Guard =>
Put ("guard");
when Mode_Conv_In =>
diff --git a/src/grt/grt-signals.adb b/src/grt/grt-signals.adb
index ad678e728..02bfd4753 100644
--- a/src/grt/grt-signals.adb
+++ b/src/grt/grt-signals.adb
@@ -212,6 +212,7 @@ package body Grt.Signals is
S.Guard_Func := null;
S.Guard_Instance := System.Null_Address;
when Mode_Transaction
+ | Mode_Above
| Mode_End =>
null;
end case;
@@ -2225,8 +2226,7 @@ package body Grt.Signals is
procedure Order_Signal (Sig : Ghdl_Signal_Ptr; Order : Propag_Order_Flag);
-- Return TRUE is the effective value of SIG is the driving value of SIG.
- function Is_Eff_Drv (Sig : Ghdl_Signal_Ptr) return Boolean
- is
+ function Is_Eff_Drv (Sig : Ghdl_Signal_Ptr) return Boolean is
begin
case Sig.S.Mode_Sig is
when Mode_Signal
@@ -2255,7 +2255,8 @@ package body Grt.Signals is
| Mode_Guard
| Mode_Quiet
| Mode_Transaction
- | Mode_Delayed =>
+ | Mode_Delayed
+ | Mode_Above =>
return True;
when Mode_End =>
return False;
@@ -2395,6 +2396,8 @@ package body Grt.Signals is
Add_Propagation ((Kind => Imp_Delayed, Sig => Sig));
when Mode_Transaction =>
Add_Propagation ((Kind => Imp_Transaction, Sig => Sig));
+ when Mode_Above =>
+ Internal_Error ("order_signal");
end case;
return;
when Mode_Conv_In =>
@@ -2451,7 +2454,8 @@ package body Grt.Signals is
| Mode_Guard
| Mode_Quiet
| Mode_Transaction
- | Mode_Delayed =>
+ | Mode_Delayed
+ | Mode_Above =>
-- Sig.Propag is already set to PROPAG_DONE.
null;
when Mode_Conv_In =>
@@ -2568,6 +2572,7 @@ package body Grt.Signals is
when Mode_Signal_Forward =>
null;
when Mode_Transaction
+ | Mode_Above
| Mode_Guard =>
for I in 1 .. Sig.Nbr_Ports loop
Set_Net (Sig.Ports (I - 1), Net, Link);
diff --git a/src/grt/grt-signals.ads b/src/grt/grt-signals.ads
index 8fe1e4dfe..3c605786b 100644
--- a/src/grt/grt-signals.ads
+++ b/src/grt/grt-signals.ads
@@ -262,6 +262,7 @@ package Grt.Signals is
Guard_Instance : System.Address;
when Mode_Transaction
+ | Mode_Above
| Mode_End =>
null;
end case;
diff --git a/src/grt/grt-types.ads b/src/grt/grt-types.ads
index d6c709da9..d4c38e7dd 100644
--- a/src/grt/grt-types.ads
+++ b/src/grt/grt-types.ads
@@ -193,7 +193,8 @@ package Grt.Types is
type Mode_Signal_Type is
(Mode_Signal,
Mode_Linkage, Mode_Buffer, Mode_Out, Mode_Inout, Mode_In,
- Mode_Stable, Mode_Quiet, Mode_Delayed, Mode_Transaction, Mode_Guard,
+ Mode_Stable, Mode_Quiet, Mode_Delayed, Mode_Transaction,
+ Mode_Above, Mode_Guard,
Mode_Conv_In, Mode_Conv_Out,
Mode_End);