From: Rico Tzschichholz Date: Mon, 2 Mar 2020 20:05:38 +0000 (+0100) Subject: codegen: Don't emit error-variable of CatchClause if not used X-Git-Tag: 0.48.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b090ccc0b75f759bbe3c211420e7c76bccc9afe8;p=thirdparty%2Fvala.git codegen: Don't emit error-variable of CatchClause if not used Found by scan-build --- diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala index b618f7b15..79a96c47f 100644 --- a/codegen/valagerrormodule.vala +++ b/codegen/valagerrormodule.vala @@ -360,11 +360,14 @@ public class Vala.GErrorModule : CCodeDelegateModule { ccode.open_block (); - if (clause.error_variable != null) { + if (clause.error_variable != null && clause.error_variable.used) { visit_local_variable (clause.error_variable); ccode.add_assignment (get_variable_cexpression (get_local_cname (clause.error_variable)), get_inner_error_cexpression ()); ccode.add_assignment (get_inner_error_cexpression (), new CCodeConstant ("NULL")); } else { + if (clause.error_variable != null) { + clause.error_variable.unreachable = true; + } // error object is not used within catch statement, clear it cfile.add_include ("glib.h"); var cclear = new CCodeFunctionCall (new CCodeIdentifier ("g_clear_error"));