aboutsummaryrefslogtreecommitdiffstats
path: root/src/psl/psl-prints.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-08-30 08:12:26 +0200
committerTristan Gingold <tgingold@free.fr>2021-08-30 08:12:26 +0200
commit852f4310b717765360f5d3bf575d40af5769f70d (patch)
treed3ea3da1d6152b6a14ca71f24cc8f03139dc3101 /src/psl/psl-prints.adb
parent7b0195b5e706502a1d564f31867b02bf2a8a27bb (diff)
downloadghdl-852f4310b717765360f5d3bf575d40af5769f70d.tar.gz
ghdl-852f4310b717765360f5d3bf575d40af5769f70d.tar.bz2
ghdl-852f4310b717765360f5d3bf575d40af5769f70d.zip
vhdl and psl: parse sync_abort and async_abort. For #1654
Diffstat (limited to 'src/psl/psl-prints.adb')
-rw-r--r--src/psl/psl-prints.adb22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/psl/psl-prints.adb b/src/psl/psl-prints.adb
index e1beb27c2..6c2cffa48 100644
--- a/src/psl/psl-prints.adb
+++ b/src/psl/psl-prints.adb
@@ -51,7 +51,9 @@ package body PSL.Prints is
when N_Until
| N_Before =>
return Prio_FL_Bounding;
- when N_Abort =>
+ when N_Abort
+ | N_Sync_Abort
+ | N_Async_Abort =>
return Prio_FL_Abort;
when N_Or_Prop =>
return Prio_Seq_Or;
@@ -323,6 +325,16 @@ package body PSL.Prints is
Put (")");
end Print_Boolean_Range_Property;
+ procedure Print_Abort_Property
+ (Tok : String; Prop : Node; Prio : Priority) is
+ begin
+ Print_Property (Get_Property (Prop), Prio);
+ Put (' ');
+ Put (Tok);
+ Put (' ');
+ Print_Expr (Get_Boolean (Prop));
+ end Print_Abort_Property;
+
procedure Print_Property (Prop : Node;
Parent_Prio : Priority := Prio_Lowest)
is
@@ -372,9 +384,11 @@ package body PSL.Prints is
when N_Until =>
Print_Binary_Property_SI (" until", Prop, Prio);
when N_Abort =>
- Print_Property (Get_Property (Prop), Prio);
- Put (" abort ");
- Print_Expr (Get_Boolean (Prop));
+ Print_Abort_Property ("abort", Prop, Prio);
+ when N_Sync_Abort =>
+ Print_Abort_Property ("sync_abort", Prop, Prio);
+ when N_Async_Abort =>
+ Print_Abort_Property ("async_abort", Prop, Prio);
when N_Before =>
Print_Binary_Property_SI (" before", Prop, Prio);
when N_Or_Prop =>