aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-decls.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-07-04 07:29:29 +0200
committerTristan Gingold <tgingold@free.fr>2019-07-04 07:29:29 +0200
commite477ba0c50eada497760ba83474318a7e1270a7a (patch)
tree5a37e5a2bf1694f7c565ac2cc9072f3c6e9753b4 /src/synth/synth-decls.adb
parentcf98ab2583ddf5d1f0315f3273cc5751f8495a42 (diff)
downloadghdl-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.adb11
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