aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-10-13 03:50:25 +0200
committerTristan Gingold <tgingold@free.fr>2016-10-13 03:50:25 +0200
commit8f3289b8f2f336c892cb62033b7ac4c991a22040 (patch)
treec575537154c0261bd306bc1c8d652ae35c8af7bb /src/vhdl
parentce2f79483d893bf79b2c9634af7a1174fc39dd8b (diff)
downloadghdl-8f3289b8f2f336c892cb62033b7ac4c991a22040.tar.gz
ghdl-8f3289b8f2f336c892cb62033b7ac4c991a22040.tar.bz2
ghdl-8f3289b8f2f336c892cb62033b7ac4c991a22040.zip
sem_expr: add a missing free in sem_array_aggregate_type.
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/sem_expr.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vhdl/sem_expr.adb b/src/vhdl/sem_expr.adb
index 636c23188..892fbfc7a 100644
--- a/src/vhdl/sem_expr.adb
+++ b/src/vhdl/sem_expr.adb
@@ -3478,9 +3478,12 @@ package body Sem_Expr is
for I in Infos'Range loop
declare
St : constant Iir := Infos (I).Index_Subtype;
+ Rng : Iir;
begin
if St /= Null_Iir then
- Free_Iir (Get_Range_Constraint (St));
+ Rng := Get_Range_Constraint (St);
+ Free_Iir (Get_Right_Limit_Expr (Rng));
+ Free_Iir (Rng);
Free_Iir (St);
end if;
end;