diff options
Diffstat (limited to 'src/synth/synth-vhdl_expr.adb')
-rw-r--r-- | src/synth/synth-vhdl_expr.adb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb index d5a0e98fa..c4bd18868 100644 --- a/src/synth/synth-vhdl_expr.adb +++ b/src/synth/synth-vhdl_expr.adb @@ -812,6 +812,8 @@ package body Synth.Vhdl_Expr is Obj := Elab.Vhdl_Heap.Synth_Dereference (Acc); return Create_Value_Memtyp (Obj); end; + when Iir_Kind_Psl_Endpoint_Declaration => + return Synth_Expression (Syn_Inst, Name); when others => Error_Kind ("synth_name", Name); end case; @@ -2621,6 +2623,12 @@ package body Synth.Vhdl_Expr is end if; Error_Msg_Synth (Syn_Inst, Expr, "dot attribute not allowed"); return No_Valtyp; + when Iir_Kind_Psl_Endpoint_Declaration => + if Hook_Endpoint /= null then + return Hook_Endpoint (Syn_Inst, Expr); + end if; + Error_Msg_Synth (Syn_Inst, Expr, "endpoint read not allowed"); + return No_Valtyp; when others => Error_Kind ("synth_expression_with_type", Expr); end case; |