summaryrefslogtreecommitdiff
path: root/codegen/valaccodecontrolflowmodule.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-05-17 08:56:12 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2019-05-17 09:08:37 +0200
commita929a44437a46eb9f814160c4ecf807a94ba2138 (patch)
tree666f9f8c240faba9dabc47253eceeb6b6ae8b031 /codegen/valaccodecontrolflowmodule.vala
parentef0973068d1786206bc98c4861f0ea9d2617edb5 (diff)
downloadvala-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.vala4
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 ();
}