From 8f3289b8f2f336c892cb62033b7ac4c991a22040 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 13 Oct 2016 03:50:25 +0200 Subject: sem_expr: add a missing free in sem_array_aggregate_type. --- src/vhdl/sem_expr.adb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3