summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkugwa <kugwa2000@gmail.com>2015-12-31 20:34:52 +0800
committerkugwa <kugwa2000@gmail.com>2015-12-31 20:36:03 +0800
commit42a97c115440aa71d2770d6d4cc3be645d96f4ad (patch)
treed88d4b97b59acbf014fd0f55385ffe1c2cdd8fa2
parent64a1eb052290116cdc150a33fcea7bc0f2b4ad48 (diff)
downloadcompiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar.gz
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar.bz2
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar.lz
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar.xz
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.tar.zst
compiler2015-42a97c115440aa71d2770d6d4cc3be645d96f4ad.zip
Add missing else statement check
-rw-r--r--src/semantic-analysis.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/semantic-analysis.c b/src/semantic-analysis.c
index 121027d..0a60668 100644
--- a/src/semantic-analysis.c
+++ b/src/semantic-analysis.c
@@ -803,6 +803,11 @@ static bool process_statement(CcmmcAst *stmt, CcmmcSymbolTable *table)
any_error = check_relop_expr(stmt->child, table) || any_error;
any_error = process_statement(stmt->child->right_sibling, table)
|| any_error;
+ if (stmt->child->right_sibling->right_sibling->type_node
+ != CCMMC_AST_NODE_NUL)
+ any_error = process_statement(
+ stmt->child->right_sibling->right_sibling,
+ table) || any_error;
break;
case CCMMC_KIND_STMT_FUNCTION_CALL:
any_error = check_call(stmt, table) || any_error;