From d30c895c134024562b9ff615b44e9ec4e09ed32a Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Sat, 14 Mar 2020 11:36:42 +0900 Subject: [PATCH] [qfcc] Use correct assignment statement type Just another minor detail lost in the assignment rewrite. With this, all tests pass when optimizing. --- tools/qfcc/source/statements.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/qfcc/source/statements.c b/tools/qfcc/source/statements.c index 37a94b81c..e58294b00 100644 --- a/tools/qfcc/source/statements.c +++ b/tools/qfcc/source/statements.c @@ -760,6 +760,8 @@ expr_assign (sblock_t *sblock, expr_t *e, operand_t **op) sblock = statement_subexpr (sblock, src_expr, &src); } } + type = st_assign; + if (0) { dereference_dst: // dst_expr is a dereferenced pointer, so need to un-dereference it @@ -773,6 +775,7 @@ dereference_dst: sblock = statement_subexpr (sblock, dst_expr, &dst); ofs = 0; } + type = st_ptrassign; } if (op) { *op = src; @@ -780,7 +783,6 @@ dereference_dst: if (src == dst) { return sblock; } - type = st_assign; s = new_statement (type, opcode, e); s->opa = src;