mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-03-24 03:22:42 +00:00
take 'warnreturn' into account, don't ignore the parsewarnin's Werror status
This commit is contained in:
parent
1cc3705da4
commit
c12e60a510
1 changed files with 5 additions and 2 deletions
7
parser.c
7
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);
|
||||
|
|
Loading…
Reference in a new issue