aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap2.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/translate/trans-chap2.adb')
-rw-r--r--src/vhdl/translate/trans-chap2.adb31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb
index 790200218..d975a2ac1 100644
--- a/src/vhdl/translate/trans-chap2.adb
+++ b/src/vhdl/translate/trans-chap2.adb
@@ -1134,6 +1134,23 @@ package body Trans.Chap2 is
end case;
end Instantiate_Iir_List_Info;
+ procedure Instantiate_Iir_Flist_Info (L : Iir_Flist)
+ is
+ El : Iir;
+ begin
+ case L is
+ when Null_Iir_Flist
+ | Iir_Flist_All
+ | Iir_Flist_Others =>
+ return;
+ when others =>
+ for I in Flist_First .. Flist_Last (L) loop
+ El := Get_Nth_Element (L, I);
+ Instantiate_Iir_Info (El);
+ end loop;
+ end case;
+ end Instantiate_Iir_Flist_Info;
+
-- B must be passed by reference.
procedure Adjust_Info_Basetype (B : access Ortho_Info_Basetype_Type;
Orig : access Ortho_Info_Basetype_Type) is
@@ -1422,6 +1439,20 @@ package body Trans.Chap2 is
when others =>
raise Internal_Error;
end case;
+ when Type_Iir_Flist =>
+ case Get_Field_Attribute (F) is
+ when Attr_None =>
+ Instantiate_Iir_Flist_Info (Get_Iir_Flist (N, F));
+ when Attr_Of_Maybe_Ref =>
+ if not Get_Is_Ref (N) then
+ Instantiate_Iir_Flist_Info (Get_Iir_Flist (N, F));
+ end if;
+ when Attr_Ref
+ | Attr_Of_Ref =>
+ null;
+ when others =>
+ raise Internal_Error;
+ end case;
when Type_PSL_NFA
| Type_PSL_Node =>
-- TODO