From: Wolfgang (Blub) Bumiller Date: Sun, 19 Aug 2012 18:32:07 +0000 (+0200) Subject: take 'warnreturn' into account, don't ignore the parsewarnin's Werror status X-Git-Tag: 0.1-rc1~145 X-Git-Url: https://de.git.xonotic.org/?a=commitdiff_plain;h=c12e60a510fbee7650672cc659cc25e1f2f0815f;p=xonotic%2Fgmqcc.git take 'warnreturn' into account, don't ignore the parsewarnin's Werror status --- diff --git a/parser.c b/parser.c index e608223..06f6d7a 100644 --- a/parser.c +++ b/parser.c @@ -1749,12 +1749,15 @@ static bool parser_parse_block_into(parser_t *parser, ast_block *block, bool war if (parser->tok != '}') { block = NULL; } else { - if (parser->function->vtype->expression.next->expression.vtype != TYPE_VOID) + if (warnreturn && parser->function->vtype->expression.next->expression.vtype != TYPE_VOID) { if (!block->exprs_count || !ast_istype(block->exprs[block->exprs_count-1], ast_return)) { - parsewarning(parser, WARN_MISSING_RETURN_VALUES, "control reaches end of non-void function"); + if (parsewarning(parser, WARN_MISSING_RETURN_VALUES, "control reaches end of non-void function")) { + block = NULL; + goto cleanup; + } } } (void)parser_next(parser);