aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-01-26 06:44:33 +0100
committerTristan Gingold <tgingold@free.fr>2018-01-26 06:44:33 +0100
commitbca6f08e125a734f35d60372031aeb184de1148f (patch)
treebd82ea6fab63b846b3f7468ee92d4f9680193ca8 /src/vhdl/translate/trans.ads
parente35d06c2fae8dc0fb90041a5966be3eafd48ce6f (diff)
downloadghdl-bca6f08e125a734f35d60372031aeb184de1148f.tar.gz
ghdl-bca6f08e125a734f35d60372031aeb184de1148f.tar.bz2
ghdl-bca6f08e125a734f35d60372031aeb184de1148f.zip
translation: use a simple mark&sweep to free infos.
Diffstat (limited to 'src/vhdl/translate/trans.ads')
-rw-r--r--src/vhdl/translate/trans.ads10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans.ads b/src/vhdl/translate/trans.ads
index 29dd593dc..8b6888764 100644
--- a/src/vhdl/translate/trans.ads
+++ b/src/vhdl/translate/trans.ads
@@ -1168,13 +1168,16 @@ package Trans is
-- Additional info for complex types.
type Complex_Type_Info is record
+ -- For a simple memory management: use mark and sweep to free all infos.
+ Mark : Boolean := False;
+
+ Builder_Need_Func : Boolean := False;
+
-- Variable containing the size of the type.
-- This is defined only for types whose size is only known at
-- running time (and not a compile-time).
Size_Var : Var_Type := Null_Var;
- Builder_Need_Func : Boolean := False;
-
-- Parameters for type builders.
-- NOTE: this is only set for types (and *not* for subtypes).
Builder_Instance : Subprgs.Subprg_Instance_Type;
@@ -1219,6 +1222,9 @@ package Trans is
type Ortho_Info_Acc is access Ortho_Info_Type;
type Ortho_Info_Type (Kind : Ortho_Info_Kind) is record
+ -- For a simple memory management: use mark and sweep to free all infos.
+ Mark : Boolean := False;
+
case Kind is
when Kind_Type =>
-- Mode of the type.