From 22776f9ffdcf112bf1fbf53a2450f115cd74afea Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Wed, 13 Jan 2010 06:31:06 +0000 Subject: [PATCH] get double indirection working do not try to optimize the output of the sub-dereference in a dereference --- tools/qfcc/source/emit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/qfcc/source/emit.c b/tools/qfcc/source/emit.c index 137532c91..5e2daba2d 100644 --- a/tools/qfcc/source/emit.c +++ b/tools/qfcc/source/emit.c @@ -472,7 +472,10 @@ emit_deref_expr (expr_t *e, def_t *dest) && e->e.expr.op == '&' && e->e.expr.e1->type < ex_string) e->e.expr.op = '.'; - d = emit_sub_expr (e, dest); + if (e->type == ex_uexpr && e->e.expr.op == '.') + d = emit_sub_expr (e, 0); + else + d = emit_sub_expr (e, dest); if (dest && d != dest) { zero.type = ex_short;