From: Wolfgang (Blub) Bumiller Date: Wed, 25 Apr 2012 15:20:59 +0000 (+0200) Subject: todo note X-Git-Tag: 0.1-rc1~596 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=6ba195bcfe422343b8d87b1338168ce95e8004ca;ds=sidebyside todo note --- diff --git a/ast.c b/ast.c index d9121cf..2869a45 100644 --- a/ast.c +++ b/ast.c @@ -159,73 +159,4 @@ void ast_function_delete(ast_function *self) /* AST codegen aprt */ -#if 0 -static qbool ast_value_gen_global(ir_builder *ir, ast_value *self, ir_value **out) -{ - ir_value *v; - *out = NULL; - - /* Generate functions */ - if (self->vtype == qc_function && self->isconst) - { - /* Without isconst it would be invalid... function pointers actually have - * type qc_pointer and next with type qc_function - */ - ast_function *func = self->constval.vfunc; - if (!ast_function_codegen(func, ir)) - return false; - - /* Here we do return NULL anyway */ - return true; - } - else if (self->vtype == qc_function && !self->isconst) { - fprintf(stderr, - "!v->isconst <- qc_function body missing - FIXME: remove when implementing prototypes\n"); - fprintf(stderr, "Value: %s\n", self->name); - abort(); - } - - v = ir_builder_create_global(ir, self->name, self->vtype); - self->ir_v = v; - - *out = v; - return true; -} - -qbool ast_value_codegen(ast_value *self, ast_function *func, ir_value **out) -{ - if (!func) - return ast_value_gen_global(ir, self, out); - return false; -} - -qbool ast_function_codegen(ast_function *self, ir_builder *builder) -{ - size_t i; - for (i = 0; i < self->blocks_count; ++i) - { - ast_expression *expr; - ir_value *out; - - expr = (ast_expression*)self->blocks[i]; - - if (!(expr->expression.codegen)(expr, self, &out)) - { - /* there was an error while building this expression... */ - return false; - } - (void)out; - } - return true; -} - -qbool ast_block_codegen(ast_block *self, ir_function *func, ir_value **out) -{ - return false; -} - -qbool ast_bin_store_codegen(ast_binary *self, ir_function *func, ir_value **out) -{ - return false; -} -#endif +/* TODO */