diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-12-26 16:02:25 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-12-26 17:33:38 +0100 |
commit | b458a7644447bb440ce4be6aa8458c71d54d8044 (patch) | |
tree | c4d534519515a8f0f6d9223a6e614199980ae008 /src/synth/synth-vhdl_expr.adb | |
parent | 46f5ed830772009e7b6c82ee98a5a16b6ea97da0 (diff) | |
download | ghdl-b458a7644447bb440ce4be6aa8458c71d54d8044.tar.gz ghdl-b458a7644447bb440ce4be6aa8458c71d54d8044.tar.bz2 ghdl-b458a7644447bb440ce4be6aa8458c71d54d8044.zip |
synth: handle instance_name attribute
Diffstat (limited to 'src/synth/synth-vhdl_expr.adb')
-rw-r--r-- | src/synth/synth-vhdl_expr.adb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb index 83aecb420..c701be7c2 100644 --- a/src/synth/synth-vhdl_expr.adb +++ b/src/synth/synth-vhdl_expr.adb @@ -2367,9 +2367,15 @@ package body Synth.Vhdl_Expr is return Elab.Vhdl_Expr.Exec_Value_Attribute (Syn_Inst, Expr); when Iir_Kind_Image_Attribute => return Elab.Vhdl_Expr.Exec_Image_Attribute (Syn_Inst, Expr); - when Iir_Kind_Instance_Name_Attribute => - return Elab.Vhdl_Expr.Exec_Instance_Name_Attribute - (Syn_Inst, Expr); + when Iir_Kind_Path_Name_Attribute + | Iir_Kind_Instance_Name_Attribute => + declare + Mt : Memtyp; + begin + Mt := Elab.Vhdl_Expr.Exec_Path_Instance_Name_Attribute + (Syn_Inst, Expr); + return Create_Value_Memtyp (Mt); + end; when Iir_Kind_Null_Literal => return Create_Value_Access (Null_Heap_Index, Expr_Type); when Iir_Kind_Allocator_By_Subtype => |