From: Wolfgang Bumiller Date: Sat, 28 Jul 2012 19:59:34 +0000 (+0200) Subject: ir_block_create_fieldaddress to pass on fieldtype from its input field X-Git-Tag: 0.1-rc1~364^2~2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=03307a0903f1ca42ba8828a2672df5806716ded6;p=xonotic%2Fgmqcc.git ir_block_create_fieldaddress to pass on fieldtype from its input field --- diff --git a/ir.c b/ir.c index b3d49ec..35f00b2 100644 --- a/ir.c +++ b/ir.c @@ -1270,6 +1270,8 @@ on_error: ir_value* ir_block_create_fieldaddress(ir_block *self, const char *label, ir_value *ent, ir_value *field) { + ir_value *v; + /* Support for various pointer types todo if so desired */ if (ent->vtype != TYPE_ENTITY) return NULL; @@ -1277,7 +1279,9 @@ ir_value* ir_block_create_fieldaddress(ir_block *self, const char *label, ir_val if (field->vtype != TYPE_FIELD) return NULL; - return ir_block_create_general_instr(self, label, INSTR_ADDRESS, ent, field, TYPE_POINTER); + v = ir_block_create_general_instr(self, label, INSTR_ADDRESS, ent, field, TYPE_POINTER); + v->fieldtype = field->fieldtype; + return v; } ir_value* ir_block_create_load_from_ent(ir_block *self, const char *label, ir_value *ent, ir_value *field, int outype)