{
/* error("missing return"); */
if (compile_warning(ast_ctx(self), WARN_MISSING_RETURN_VALUES,
- "control reaches end of non-void function (`%s`)",
- self->name))
+ "control reaches end of non-void function (`%s`) via %s",
+ self->name, self->curblock->label))
{
return false;
}
if (bincrement) tmpblock = bincrement;
else if (bpostcond) tmpblock = bpostcond;
else if (bprecond) tmpblock = bprecond;
- else tmpblock = bout;
+ else tmpblock = bbody;
if (!end_bbody->final && !ir_block_create_jump(end_bbody, tmpblock))
return false;
}