/* 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 */