aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap3.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-01-17 06:34:47 +0100
committerTristan Gingold <tgingold@free.fr>2018-01-17 06:34:47 +0100
commit6487c7008b36ed7a94a59b3b02bb7e7b28fe4ac8 (patch)
treea6fa300d314644069585852959c571345b9b7491 /src/vhdl/translate/trans-chap3.ads
parent4d52610e330ab24aea76eaae8295fd7771beedda (diff)
downloadghdl-6487c7008b36ed7a94a59b3b02bb7e7b28fe4ac8.tar.gz
ghdl-6487c7008b36ed7a94a59b3b02bb7e7b28fe4ac8.tar.bz2
ghdl-6487c7008b36ed7a94a59b3b02bb7e7b28fe4ac8.zip
Translate; properly separates translation of types from translation of subtypes.
Diffstat (limited to 'src/vhdl/translate/trans-chap3.ads')
-rw-r--r--src/vhdl/translate/trans-chap3.ads19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/vhdl/translate/trans-chap3.ads b/src/vhdl/translate/trans-chap3.ads
index ec77c1d52..88a169f2a 100644
--- a/src/vhdl/translate/trans-chap3.ads
+++ b/src/vhdl/translate/trans-chap3.ads
@@ -37,11 +37,7 @@ package Trans.Chap3 is
-- 4. Create bounds constructor
-- 5. Create type descriptor declaration
-- 6. Create type descriptor constructor
- procedure Translate_Type_Definition
- (Def : Iir; With_Vars : Boolean := True);
-
- procedure Translate_Named_Type_Definition (Def : Iir; Id : Name_Id);
- procedure Translate_Anonymous_Type_Definition (Def : Iir);
+ procedure Translate_Type_Definition (Def : Iir);
-- Translate subprograms for types.
procedure Translate_Type_Subprograms
@@ -61,6 +57,19 @@ package Trans.Chap3 is
procedure Translate_Protected_Type_Body_Subprograms_Spec (Bod : Iir);
procedure Translate_Protected_Type_Body_Subprograms_Body (Bod : Iir);
+ procedure Translate_Subtype_Definition
+ (Def : Iir; Parent_Type : Iir; With_Vars : Boolean := True);
+
+ -- Translate a proper subtype indication.
+ procedure Translate_Subtype_Indication (Def : Iir; With_Vars : Boolean);
+
+ procedure Translate_Named_Subtype_Definition (Def : Iir; Id : Name_Id);
+
+ -- When there is no name for the subtype (eg: the subtype of a string or
+ -- of an aggregate). There is also no type mark.
+ procedure Translate_Anonymous_Subtype_Definition
+ (Def : Iir; With_Vars : Boolean);
+
-- Translate_type_definition_Elab do 4 and 6.
-- It generates code to do type elaboration.
procedure Elab_Type_Declaration (Decl : Iir);