From 162561a5659c6276368fde2fd5eaebd8400c0e57 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 21 Jul 2022 21:33:57 +0200 Subject: elab-vhdl_decls: elaborate dot attribute --- src/synth/elab-vhdl_decls.adb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/synth') diff --git a/src/synth/elab-vhdl_decls.adb b/src/synth/elab-vhdl_decls.adb index ffa0ee0a7..afeb344aa 100644 --- a/src/synth/elab-vhdl_decls.adb +++ b/src/synth/elab-vhdl_decls.adb @@ -180,6 +180,17 @@ package body Elab.Vhdl_Decls is Create_Signal (Syn_Inst, Decl, Obj_Typ, null); end Elab_Implicit_Signal_Declaration; + procedure Elab_Implicit_Quantity_Declaration (Syn_Inst : Synth_Instance_Acc; + Decl : Node) + is + Obj_Typ : Type_Acc; + Res : Valtyp; + begin + Obj_Typ := Get_Subtype_Object (Syn_Inst, Get_Type (Decl)); + Res := Create_Value_Quantity (Obj_Typ, No_Quantity_Index); + Create_Object (Syn_Inst, Decl, Res); + end Elab_Implicit_Quantity_Declaration; + procedure Elab_Attribute_Specification (Syn_Inst : Synth_Instance_Acc; Spec : Node) is @@ -316,6 +327,8 @@ package body Elab.Vhdl_Decls is Elab_Free_Quantity_Declaration (Syn_Inst, Decl); when Iir_Kind_Above_Attribute => Elab_Implicit_Signal_Declaration (Syn_Inst, Decl); + when Iir_Kind_Dot_Attribute => + Elab_Implicit_Quantity_Declaration (Syn_Inst, Decl); when Iir_Kinds_Signal_Attribute => -- Not supported by synthesis. null; -- cgit v1.2.3