diff options
Diffstat (limited to 'src/synth/synth-expr.adb')
-rw-r--r-- | src/synth/synth-expr.adb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb index 22f49daa8..c1fe74d81 100644 --- a/src/synth/synth-expr.adb +++ b/src/synth/synth-expr.adb @@ -1042,7 +1042,6 @@ package body Synth.Expr is | Iir_Kind_Variable_Declaration | Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Signal_Declaration - | Iir_Kind_Anonymous_Signal_Declaration | Iir_Kind_Interface_Constant_Declaration | Iir_Kind_Constant_Declaration | Iir_Kind_Iterator_Declaration @@ -1843,7 +1842,12 @@ package body Synth.Expr is | Iir_Kind_Signal_Declaration => -- For PSL. return Synth_Name (Syn_Inst, Expr); when Iir_Kind_Reference_Name => - return Synth_Name (Syn_Inst, Get_Named_Entity (Expr)); + -- Only used for anonymous signals in internal association. + return Synth_Expression_With_Type + (Syn_Inst, Get_Named_Entity (Expr), Expr_Type); + when Iir_Kind_Anonymous_Signal_Declaration => + return Synth_Expression_With_Type + (Syn_Inst, Get_Expression (Expr), Expr_Type); when Iir_Kind_Indexed_Name | Iir_Kind_Slice_Name => declare |