diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-10-13 04:52:08 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-10-13 04:52:08 +0200 |
commit | a83288e572ef07e1bfb8c478c8798d87726b89b8 (patch) | |
tree | 104a7974c286b7cfc18bb0de897eca5796464641 /src/vhdl | |
parent | c54bac854a8d49f1b84b10c500ff3b181a1c1c7b (diff) | |
download | ghdl-a83288e572ef07e1bfb8c478c8798d87726b89b8.tar.gz ghdl-a83288e572ef07e1bfb8c478c8798d87726b89b8.tar.bz2 ghdl-a83288e572ef07e1bfb8c478c8798d87726b89b8.zip |
evaluation: free evaluated operand for tf_array_not.
Diffstat (limited to 'src/vhdl')
-rw-r--r-- | src/vhdl/evaluation.adb | 6 |
1 files changed, 4 insertions, 2 deletions
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; |