fix emit_assign_expr to emit an explicit assignment statement whenever

emit_sub_expr returns a temporary def. this fixes a = b = c; expressions when
entities are involved.
This commit is contained in:
Bill Currie 2001-07-18 16:33:31 +00:00
parent d6c2943ae3
commit c9af1575d3

View file

@ -945,6 +945,8 @@ emit_assign_expr (expr_t *e, def_t *dest)
op = PR_Opcode_Find ("=", 5, def_a, def_b, def_b);
emit_statement (e->line, op, def_b, def_a, 0);
}
if (!def_b->name)
dest = def_a;
if (dest) {
op = PR_Opcode_Find ("=", 5, dest, def_b, def_b);
emit_statement (e->line, op, def_b, dest, 0);