From: Rico Tzschichholz Date: Mon, 13 Feb 2017 16:30:29 +0000 (+0100) Subject: codegen: Don't create duplicated complete-async code X-Git-Tag: 0.35.4~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ed2ec810d75f49478dbfdb5c6d98b2fc909e9f6;p=thirdparty%2Fvala.git codegen: Don't create duplicated complete-async code Treat methods with non-void return-type special while they require a return statement. This does not account for a trailing superfluous "return" which will still trigger this code-duplication. https://bugzilla.gnome.org/show_bug.cgi?id=778302 --- diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index 1f47af9c8..f28fe86d0 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -769,7 +769,8 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule { } } - if (m.coroutine) { + // For non-void return-types GAsyncModule.visit_return_statement () will take care of this + if (m.return_type is VoidType && m.coroutine) { // epilogue complete_async (); }