diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-05-17 08:56:12 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-05-17 09:08:37 +0200 |
commit | a929a44437a46eb9f814160c4ecf807a94ba2138 (patch) | |
tree | 666f9f8c240faba9dabc47253eceeb6b6ae8b031 /codegen/valaccodecontrolflowmodule.vala | |
parent | ef0973068d1786206bc98c4861f0ea9d2617edb5 (diff) | |
download | vala-a929a44437a46eb9f814160c4ecf807a94ba2138.tar.gz |
codegen: When freeing local variables don't stop at "switch" on "continue"
So distinguish between BreakStatement and ContinueStatement to make the
correct decision in append_local_free().
Fixes https://gitlab.gnome.org/GNOME/vala/issues/799
Diffstat (limited to 'codegen/valaccodecontrolflowmodule.vala')
-rw-r--r-- | codegen/valaccodecontrolflowmodule.vala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/codegen/valaccodecontrolflowmodule.vala b/codegen/valaccodecontrolflowmodule.vala index 58e51d99f..25c386f50 100644 --- a/codegen/valaccodecontrolflowmodule.vala +++ b/codegen/valaccodecontrolflowmodule.vala @@ -350,13 +350,13 @@ public abstract class Vala.CCodeControlFlowModule : CCodeMethodModule { } public override void visit_break_statement (BreakStatement stmt) { - append_local_free (current_symbol, true); + append_local_free (current_symbol, stmt); ccode.add_break (); } public override void visit_continue_statement (ContinueStatement stmt) { - append_local_free (current_symbol, true); + append_local_free (current_symbol, stmt); ccode.add_continue (); } |