diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-07-04 07:29:29 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-07-04 07:29:29 +0200 |
commit | e477ba0c50eada497760ba83474318a7e1270a7a (patch) | |
tree | 5a37e5a2bf1694f7c565ac2cc9072f3c6e9753b4 /src/synth/synth-decls.adb | |
parent | cf98ab2583ddf5d1f0315f3273cc5751f8495a42 (diff) | |
download | ghdl-e477ba0c50eada497760ba83474318a7e1270a7a.tar.gz ghdl-e477ba0c50eada497760ba83474318a7e1270a7a.tar.bz2 ghdl-e477ba0c50eada497760ba83474318a7e1270a7a.zip |
synth: handle vhdl2008 std_logic_1164, handle anonymous_signal.
Diffstat (limited to 'src/synth/synth-decls.adb')
-rw-r--r-- | src/synth/synth-decls.adb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/synth/synth-decls.adb b/src/synth/synth-decls.adb index 34d0c7406..688f67a4e 100644 --- a/src/synth/synth-decls.adb +++ b/src/synth/synth-decls.adb @@ -33,6 +33,7 @@ with Vhdl.Annotations; use Vhdl.Annotations; package body Synth.Decls is procedure Synth_Anonymous_Subtype_Indication (Syn_Inst : Synth_Instance_Acc; Atype : Node); + pragma Unreferenced (Synth_Anonymous_Subtype_Indication); procedure Create_Var_Wire (Syn_Inst : Synth_Instance_Acc; Decl : Iir; Init : Value_Acc) @@ -113,8 +114,6 @@ package body Synth.Decls is -- The elaboration of an index constraint consists of the -- declaration of each of the discrete ranges in the index -- constraint in some order that is not defined by the language. - Synth_Anonymous_Subtype_Indication - (Syn_Inst, Get_Element_Subtype (Atype)); declare St_Indexes : constant Iir_Flist := Get_Index_Subtype_List (Atype); @@ -134,7 +133,8 @@ package body Synth.Decls is end; when Iir_Kind_Integer_Subtype_Definition | Iir_Kind_Floating_Subtype_Definition - | Iir_Kind_Physical_Subtype_Definition => + | Iir_Kind_Physical_Subtype_Definition + | Iir_Kind_Enumeration_Subtype_Definition => declare Val : Value_Acc; begin @@ -142,8 +142,6 @@ package body Synth.Decls is (Syn_Inst, Get_Range_Constraint (Atype)); Create_Object (Syn_Inst, Atype, Unshare (Val, Instance_Pool)); end; - when Iir_Kind_Enumeration_Subtype_Definition => - null; when others => Error_Kind ("synth_subtype_indication", Atype); end case; @@ -304,6 +302,9 @@ package body Synth.Decls is end if; Create_Var_Wire (Syn_Inst, Decl, Init); end; + when Iir_Kind_Anonymous_Signal_Declaration => + Make_Object (Syn_Inst, Wire_Signal, Decl); + Create_Var_Wire (Syn_Inst, Decl, null); when Iir_Kind_Procedure_Declaration | Iir_Kind_Function_Declaration => -- TODO: elaborate interfaces |