from = self->labelbuf + sizeof(self->labelbuf)-1;
*from-- = 0;
do {
- unsigned int digit = id % 10;
- *from = digit + '0';
+ *from-- = (id%10) + '0';
id /= 10;
} while (id);
+ ++from;
memcpy(from - len, prefix, len);
return from - len;
}
}
#define codegen_output_type(a,o) (_ast_codegen_output_type(&((a)->expression),(o)))
-#define codegen_output_type_expr(a,o) (_ast_codegen_output_type(a,(o)))
bool ast_value_codegen(ast_value *self, ast_function *func, bool lvalue, ir_value **out)
{
}
/* TODO: check return types */
- if (!self->curblock->is_return)
+ if (!self->curblock->final)
{
if (!self->vtype->expression.next ||
self->vtype->expression.next->expression.vtype == TYPE_VOID)