aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/trans-chap2.adb2
-rw-r--r--src/vhdl/translate/trans-chap3.adb8
-rw-r--r--src/vhdl/translate/trans-rtis.adb3
3 files changed, 11 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb
index 9e7e32915..e105dc6ab 100644
--- a/src/vhdl/translate/trans-chap2.adb
+++ b/src/vhdl/translate/trans-chap2.adb
@@ -373,6 +373,8 @@ package body Trans.Chap2 is
null;
when Iir_Kind_File_Type_Definition =>
return True;
+ when Iir_Kind_File_Subtype_Definition =>
+ null;
when Iir_Kind_Protected_Type_Declaration =>
-- We suppose there is at least one method.
return True;
diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb
index 139a90f00..627ae2532 100644
--- a/src/vhdl/translate/trans-chap3.adb
+++ b/src/vhdl/translate/trans-chap3.adb
@@ -2541,6 +2541,11 @@ package body Trans.Chap3 is
Set_Info (Def, Get_Info (Get_Parent_Type (Def)));
end;
+ when Iir_Kind_File_Subtype_Definition =>
+ -- Same as parent.
+ Free_Info (Def);
+ Set_Info (Def, Get_Info (Get_Parent_Type (Def)));
+
when others =>
Error_Kind ("translate_subtype_definition", Def);
end case;
@@ -2792,7 +2797,8 @@ package body Trans.Chap3 is
Elab_Composite_Subtype_Layout (Def);
end if;
- when Iir_Kind_Access_Subtype_Definition =>
+ when Iir_Kind_Access_Subtype_Definition
+ | Iir_Kind_File_Subtype_Definition =>
null;
when others =>
diff --git a/src/vhdl/translate/trans-rtis.adb b/src/vhdl/translate/trans-rtis.adb
index 80871cfd8..b56364e2e 100644
--- a/src/vhdl/translate/trans-rtis.adb
+++ b/src/vhdl/translate/trans-rtis.adb
@@ -1838,7 +1838,8 @@ package body Trans.Rtis is
Generate_Fileacc_Type_Definition (Atype);
when Iir_Kind_Record_Subtype_Definition =>
Generate_Composite_Subtype_Definition (Atype);
- when Iir_Kind_Access_Subtype_Definition =>
+ when Iir_Kind_Access_Subtype_Definition
+ | Iir_Kind_File_Subtype_Definition =>
-- FIXME: No separate infos (yet).
Info.Type_Rti := Get_Info (Get_Base_Type (Atype)).Type_Rti;
when Iir_Kind_Record_Type_Definition =>