Message ID | 1368737779-6601-1-git-send-email-xi.wang@gmail.com (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
diff --git a/evaluate.c b/evaluate.c index c345a50..8954ff2 100644 --- a/evaluate.c +++ b/evaluate.c @@ -873,6 +873,8 @@ static struct symbol *evaluate_logical(struct expression *expr) return NULL; expr->ctype = &bool_ctype; + expr->left = cast_to(expr->left, &bool_ctype); + expr->right = cast_to(expr->right, &bool_ctype); if (expr->flags) { if (!(expr->left->flags & expr->right->flags & Int_const_expr)) expr->flags = 0;
The type of logical operands should be bool. Signed-off-by: Xi Wang <xi.wang@gmail.com> --- simplify.c seems to assume so. case OP_AND_BOOL: if (value == 1) return replace_with_pseudo(insn, insn->src1); --- evaluate.c | 2 ++ 1 file changed, 2 insertions(+)