summaryrefslogtreecommitdiff
path: root/translate/translation.adb
diff options
context:
space:
mode:
authorgingold2005-11-01 15:08:25 +0000
committergingold2005-11-01 15:08:25 +0000
commitd5888aa28f654fa58ec9f3914932885e36af3d5c (patch)
treea5859817b20ed2bca0108ca4e9175fad893e3ca7 /translate/translation.adb
parentefb30b021679ac1334e1d4fdffa073eaaa082a51 (diff)
downloadghdl-d5888aa28f654fa58ec9f3914932885e36af3d5c.tar.gz
ghdl-d5888aa28f654fa58ec9f3914932885e36af3d5c.tar.bz2
ghdl-d5888aa28f654fa58ec9f3914932885e36af3d5c.zip
bug fixes + no use of fprintf in grt-stats
Diffstat (limited to 'translate/translation.adb')
-rw-r--r--translate/translation.adb9
1 files changed, 8 insertions, 1 deletions
diff --git a/translate/translation.adb b/translate/translation.adb
index a55314a..a0e63ee 100644
--- a/translate/translation.adb
+++ b/translate/translation.adb
@@ -8787,10 +8787,12 @@ package body Translation is
-- Deferred constant are never considered as locally static.
-- FIXME: to be improved ?
- -- Only required for transient types.
+ -- open_temp/close_temp only required for transient types.
+ Open_Temp;
Define_Global_Const
(Info.Object_Var,
Chap7.Translate_Static_Expression (Val, Def));
+ Close_Temp;
end if;
when others =>
Error_Kind ("create_objet", El);
@@ -12052,6 +12054,11 @@ package body Translation is
end if;
-- No check for 'Range or 'Reverse_Range.
+ if Get_Kind (Expr_Type) not in Iir_Kinds_Discrete_Subtype_Definition
+ then
+ return True;
+ end if;
+
Rng := Get_Range_Constraint (Expr_Type);
if (Get_Kind (Rng) = Iir_Kind_Range_Array_Attribute
or Get_Kind (Rng) = Iir_Kind_Reverse_Range_Array_Attribute)