aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-11-15 06:37:04 +0100
committerTristan Gingold <tgingold@free.fr>2017-11-15 06:37:04 +0100
commitc4a49156d90fed4b111ecb8c75d34669a006f9aa (patch)
tree2d22adc19a7e300264c2fa8d6ce77b116cea3c5f /src
parent8ed4b88145fffe220cd9839d93a76ea23caf56d9 (diff)
downloadghdl-c4a49156d90fed4b111ecb8c75d34669a006f9aa.tar.gz
ghdl-c4a49156d90fed4b111ecb8c75d34669a006f9aa.tar.bz2
ghdl-c4a49156d90fed4b111ecb8c75d34669a006f9aa.zip
grt-disp_signals: handle implicit delayed signals.
Diffstat (limited to 'src')
-rw-r--r--src/grt/grt-disp_signals.adb52
1 files changed, 30 insertions, 22 deletions
diff --git a/src/grt/grt-disp_signals.adb b/src/grt/grt-disp_signals.adb
index 2634a7f99..f2e86572c 100644
--- a/src/grt/grt-disp_signals.adb
+++ b/src/grt/grt-disp_signals.adb
@@ -218,29 +218,37 @@ package body Grt.Disp_Signals is
Put_I32 (stdout, Ghdl_I32 (Sig.Nbr_Ports));
Put (" ports");
end if;
- if Sig.S.Mode_Sig in Mode_Signal_User then
- if Sig.S.Resolv /= null then
- Put (stdout, " res func ");
- Put (stdout, To_Address(Sig.S.Resolv));
- end if;
- if Sig.S.Nbr_Drivers = 0 then
- Put ("; no driver");
- elsif Sig.S.Nbr_Drivers = 1 then
- Put ("; trans=");
- Disp_Transaction
- (Sig.S.Drivers (0).First_Trans, Sig_Type, Sig.Mode);
- else
- for I in 0 .. Sig.S.Nbr_Drivers - 1 loop
- New_Line;
- Put (" ");
- Disp_Context
- (Processes.Get_Rti_Context (Sig.S.Drivers (I).Proc));
- Put (": ");
+ case Sig.S.Mode_Sig is
+ when Mode_Signal_User =>
+ if Sig.S.Resolv /= null then
+ Put (stdout, " res func ");
+ Put (stdout, To_Address(Sig.S.Resolv));
+ end if;
+ if Sig.S.Nbr_Drivers = 0 then
+ Put ("; no driver");
+ elsif Sig.S.Nbr_Drivers = 1 then
+ Put ("; trans=");
Disp_Transaction
- (Sig.S.Drivers (I).First_Trans, Sig_Type, Sig.Mode);
- end loop;
- end if;
- end if;
+ (Sig.S.Drivers (0).First_Trans, Sig_Type, Sig.Mode);
+ else
+ for I in 0 .. Sig.S.Nbr_Drivers - 1 loop
+ New_Line;
+ Put (" ");
+ Disp_Context
+ (Processes.Get_Rti_Context (Sig.S.Drivers (I).Proc));
+ Put (": ");
+ Disp_Transaction
+ (Sig.S.Drivers (I).First_Trans, Sig_Type, Sig.Mode);
+ end loop;
+ end if;
+
+ when Mode_Delayed =>
+ Put ("; trans=");
+ Disp_Transaction (Sig.S.Attr_Trans, Sig_Type, Sig.Mode);
+
+ when others =>
+ null;
+ end case;
end if;
New_Line;
end Disp_Simple_Signal;