aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-decls.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-07-23 19:21:57 +0200
committerTristan Gingold <tgingold@free.fr>2019-07-24 05:23:32 +0200
commit113fc5b718d4d9a0fee31ce3b35a7f2428d6c214 (patch)
tree3a0c79b7044d18b23e30ba74412bd6ce70fd78bc /src/synth/synth-decls.adb
parent8653cfdef98b6ccd591b2cdf903c4a8149a18e93 (diff)
downloadghdl-113fc5b718d4d9a0fee31ce3b35a7f2428d6c214.tar.gz
ghdl-113fc5b718d4d9a0fee31ce3b35a7f2428d6c214.tar.bz2
ghdl-113fc5b718d4d9a0fee31ce3b35a7f2428d6c214.zip
synth: handle record type declarations.
Diffstat (limited to 'src/synth/synth-decls.adb')
-rw-r--r--src/synth/synth-decls.adb12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/synth/synth-decls.adb b/src/synth/synth-decls.adb
index e512b948a..3c5b5cb95 100644
--- a/src/synth/synth-decls.adb
+++ b/src/synth/synth-decls.adb
@@ -63,7 +63,6 @@ package body Synth.Decls is
procedure Synth_Type_Definition (Syn_Inst : Synth_Instance_Acc; Def : Node)
is
- pragma Unreferenced (Syn_Inst);
begin
case Get_Kind (Def) is
when Iir_Kind_Enumeration_Type_Definition =>
@@ -87,6 +86,17 @@ package body Synth.Decls is
when Iir_Kind_Access_Type_Definition
| Iir_Kind_File_Type_Definition =>
null;
+ when Iir_Kind_Record_Type_Definition =>
+ declare
+ El_List : constant Node_Flist :=
+ Get_Elements_Declaration_List (Def);
+ El : Node;
+ begin
+ for I in Flist_First .. Flist_Last (El_List) loop
+ El := Get_Nth_Element (El_List, I);
+ Synth_Declaration_Type (Syn_Inst, El);
+ end loop;
+ end;
when others =>
Error_Kind ("synth_type_definition", Def);
end case;