aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/vhdl-sem_psl.adb28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/vhdl/vhdl-sem_psl.adb b/src/vhdl/vhdl-sem_psl.adb
index f6be38207..18141eeb8 100644
--- a/src/vhdl/vhdl-sem_psl.adb
+++ b/src/vhdl/vhdl-sem_psl.adb
@@ -505,15 +505,27 @@ package body Vhdl.Sem_Psl is
when N_Braced_SERE =>
return Sem_Sequence (Prop);
when N_Star_Repeat_Seq
- | N_Equal_Repeat_Seq
- | N_Plus_Repeat_Seq
+ | N_Plus_Repeat_Seq =>
+ declare
+ Seq : PSL_Node;
+ begin
+ Seq := Get_Sequence (Prop);
+ if Seq /= Null_PSL_Node then
+ Seq := Sem_Sequence (Seq);
+ Set_Sequence (Prop, Seq);
+ end if;
+ return Prop;
+ end;
+ when N_Equal_Repeat_Seq
| N_Goto_Repeat_Seq =>
- Res := Get_Sequence (Prop);
- if Res /= Null_PSL_Node then
- Res := Sem_Sequence (Get_Sequence (Prop));
- Set_Sequence (Prop, Res);
- end if;
- return Prop;
+ declare
+ B : PSL_Node;
+ begin
+ B := Get_Boolean (Prop);
+ B := Sem_Boolean (B);
+ Set_Boolean (Prop, B);
+ return Prop;
+ end;
when N_Always
| N_Never =>
-- By extension, clock_event is allowed within outermost