Allow arbitrary expressions in a bool's block.

This generates correct code for "if ((x = y))": the assignment still
occurs.
This commit is contained in:
Bill Currie 2012-12-23 19:57:39 +09:00
parent f6c4e06183
commit 60af059b6e

View file

@ -1060,6 +1060,9 @@ build_bool_block (expr_t *block, expr_t *e)
} else if (e->e.expr.op == 'n') { } else if (e->e.expr.op == 'n') {
e->next = 0; e->next = 0;
append_expr (block, e); append_expr (block, e);
} else {
e->next = 0;
append_expr (block, e);
} }
return; return;
case ex_uexpr: case ex_uexpr: