From a83288e572ef07e1bfb8c478c8798d87726b89b8 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 13 Oct 2016 04:52:08 +0200 Subject: evaluation: free evaluated operand for tf_array_not. --- src/vhdl/evaluation.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/vhdl/evaluation.adb b/src/vhdl/evaluation.adb index cdac9e5a5..7a664ca5a 100644 --- a/src/vhdl/evaluation.adb +++ b/src/vhdl/evaluation.adb @@ -531,13 +531,14 @@ package body Evaluation is when Iir_Predefined_TF_Array_Not => declare + Lit_Val : Iir; O_List : Iir_List; R_List : Iir_List; El : Iir; Lit : Iir; begin - O_List := Get_Simple_Aggregate_List - (Eval_String_Literal (Operand)); + Lit_Val := Eval_String_Literal (Operand); + O_List := Get_Simple_Aggregate_List (Lit_Val); R_List := Create_Iir_List; for I in Natural loop @@ -553,6 +554,7 @@ package body Evaluation is end case; Append_Element (R_List, Lit); end loop; + Free_Eval_String_Literal (Lit_Val, Operand); return Build_Simple_Aggregate (R_List, Orig, Get_Type (Operand)); end; -- cgit v1.2.3