[vala] Do not generate unnecessary error check after throw statement
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] Do not generate unnecessary error check after throw statement
- Date: Wed, 27 Jan 2010 17:46:52 +0000 (UTC)
commit 4fddd11d2de67656cd5db5e18c234d9066f09b2b
Author: Jürg Billeter <j bitron ch>
Date: Wed Jan 27 18:44:36 2010 +0100
Do not generate unnecessary error check after throw statement
Fixes bug 589942.
codegen/valagerrormodule.vala | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala
index a031616..ef25c06 100644
--- a/codegen/valagerrormodule.vala
+++ b/codegen/valagerrormodule.vala
@@ -283,8 +283,14 @@ internal class Vala.GErrorModule : CCodeDelegateModule {
cerror_handler = uncaught_error_statement (inner_error);
}
- var ccond = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, inner_error, new CCodeConstant ("NULL"));
- cfrag.append (new CCodeIfStatement (ccond, cerror_handler));
+ if (node is ThrowStatement) {
+ // inner_error is always set, avoid unnecessary if statement
+ // eliminates C warnings
+ cfrag.append (cerror_handler);
+ } else {
+ var ccond = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, inner_error, new CCodeConstant ("NULL"));
+ cfrag.append (new CCodeIfStatement (ccond, cerror_handler));
+ }
}
public override void visit_try_statement (TryStatement stmt) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]