From: Wolfgang Bumiller Date: Fri, 20 Jul 2012 19:36:37 +0000 (+0200) Subject: the IR won't create globals of the same name - make names starting with # an exception X-Git-Tag: 0.1-rc1~404 X-Git-Url: http://de.git.xonotic.org/?a=commitdiff_plain;h=7756cb92051b08662295eeeda96468b1bf80f6b8;p=xonotic%2Fgmqcc.git the IR won't create globals of the same name - make names starting with # an exception --- diff --git a/ast.c b/ast.c index d519919..b192272 100644 --- a/ast.c +++ b/ast.c @@ -510,8 +510,10 @@ bool ast_global_codegen(ast_value *self, ir_builder *ir) } v = ir_builder_create_global(ir, self->name, self->expression.vtype); - if (!v) + if (!v) { + printf("ir_builder_create_global failed\n"); return false; + } if (self->isconst) { switch (self->expression.vtype) diff --git a/ir.c b/ir.c index ef67910..21d8eac 100644 --- a/ir.c +++ b/ir.c @@ -206,9 +206,14 @@ ir_value* ir_builder_get_global(ir_builder *self, const char *name) ir_value* ir_builder_create_global(ir_builder *self, const char *name, int vtype) { - ir_value *ve = ir_builder_get_global(self, name); - if (ve) { - return NULL; + ir_value *ve; + + if (name && name[0] != '#') + { + ve = ir_builder_get_global(self, name); + if (ve) { + return NULL; + } } ve = ir_value_var(name, store_global, vtype);