aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-disp_rti.adb
diff options
context:
space:
mode:
authorOndrej Ille <ondrej.ille@gmail.com>2021-04-06 22:59:48 +0200
committertgingold <tgingold@users.noreply.github.com>2021-04-08 20:22:42 +0200
commit7c7ea95a13e2f2d8a261af0143d48774268ac8a5 (patch)
tree7d2fd3b3fc862bc382176647f83eec69602cee2d /src/grt/grt-disp_rti.adb
parent44271e7075bf261f3b6e9c385bbcfb14b32c6b41 (diff)
downloadghdl-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.adb39
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);