diff options
author | Ondrej Ille <ondrej.ille@gmail.com> | 2021-04-06 22:59:48 +0200 |
---|---|---|
committer | tgingold <tgingold@users.noreply.github.com> | 2021-04-08 20:22:42 +0200 |
commit | 7c7ea95a13e2f2d8a261af0143d48774268ac8a5 (patch) | |
tree | 7d2fd3b3fc862bc382176647f83eec69602cee2d /src/grt/grt-disp_rti.adb | |
parent | 44271e7075bf261f3b6e9c385bbcfb14b32c6b41 (diff) | |
download | ghdl-7c7ea95a13e2f2d8a261af0143d48774268ac8a5.tar.gz ghdl-7c7ea95a13e2f2d8a261af0143d48774268ac8a5.tar.bz2 ghdl-7c7ea95a13e2f2d8a261af0143d48774268ac8a5.zip |
src: Adjust disp-rti for new PSL RTI type.
Diffstat (limited to 'src/grt/grt-disp_rti.adb')
-rw-r--r-- | src/grt/grt-disp_rti.adb | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/src/grt/grt-disp_rti.adb b/src/grt/grt-disp_rti.adb index e2e681066..a46e89231 100644 --- a/src/grt/grt-disp_rti.adb +++ b/src/grt/grt-disp_rti.adb @@ -910,6 +910,20 @@ package body Grt.Disp_Rti is Put (": "); end Disp_Obj_Header; + procedure Disp_Psl_Header (Psl_Dir : Ghdl_Rtin_Psl_Directive_Acc; + Indent : Natural) + is + begin + Disp_Indent (Indent); + Disp_Kind (Psl_Dir.Common.Kind); + Disp_Depth (Psl_Dir.Common.Depth); + Put (", "); + Disp_Linecol (Psl_Dir.Linecol); + Put ("; "); + Disp_Name (Psl_Dir.Name); + Put (": "); + end Disp_Psl_Header; + procedure Disp_Object (Obj : Ghdl_Rtin_Object_Acc; Is_Sig : Boolean; Ctxt : Rti_Context; @@ -930,29 +944,29 @@ package body Grt.Disp_Rti is New_Line; end Disp_Object; - procedure Disp_Psl_Directive (Obj : Ghdl_Rtin_Object_Acc; + procedure Disp_Psl_Directive (Psl_Dir : Ghdl_Rtin_Psl_Directive_Acc; Ctxt : Rti_Context; Indent : Natural) is Addr : Address; begin - Disp_Obj_Header (Obj, Indent); + Disp_Psl_Header(Psl_Dir, Indent); Put ("count = "); - Addr := Loc_To_Addr (Obj.Common.Depth, Obj.Loc, Ctxt); + Addr := Loc_To_Addr (Psl_Dir.Common.Depth, Psl_Dir.Loc, Ctxt); Put_U32 (stdout, Ghdl_U32 (To_Ghdl_Index_Ptr (Addr).all)); New_Line; end Disp_Psl_Directive; - procedure Disp_Psl_Endpoint_Directive (Obj : Ghdl_Rtin_Object_Acc; - Ctxt : Rti_Context; - Indent : Natural) + procedure Disp_Psl_Endpoint (Psl_Dir : Ghdl_Rtin_Psl_Directive_Acc; + Ctxt : Rti_Context; + Indent : Natural) is Addr : Address; C : Character; begin - Disp_Obj_Header (Obj, Indent); + Disp_Psl_Header(Psl_Dir, Indent); Put ("endpoint = "); - Addr := Loc_To_Addr (Obj.Common.Depth, Obj.Loc, Ctxt); + Addr := Loc_To_Addr (Psl_Dir.Common.Depth, Psl_Dir.Loc, Ctxt); if To_Ghdl_Value_Ptr (Addr).B1 then C := 'T'; else @@ -960,7 +974,7 @@ package body Grt.Disp_Rti is end if; Put (stdout, C); New_Line; - end Disp_Psl_Endpoint_Directive; + end Disp_Psl_Endpoint; procedure Disp_Attribute (Obj : Ghdl_Rtin_Object_Acc; Ctxt : Rti_Context; @@ -1370,10 +1384,11 @@ package body Grt.Disp_Rti is when Ghdl_Rtik_Psl_Cover | Ghdl_Rtik_Psl_Assume | Ghdl_Rtik_Psl_Assert => - Disp_Psl_Directive (To_Ghdl_Rtin_Object_Acc (Rti), Ctxt, Indent); + Disp_Psl_Directive (To_Ghdl_Rtin_Psl_Directive_Acc (Rti), + Ctxt, Indent); when Ghdl_Rtik_Psl_Endpoint => - Disp_Psl_Endpoint_Directive - (To_Ghdl_Rtin_Object_Acc (Rti), Ctxt, Indent); + Disp_Psl_Endpoint (To_Ghdl_Rtin_Psl_Directive_Acc (Rti), + Ctxt, Indent); when others => Disp_Indent (Indent); Disp_Kind (Rti.Kind); |