From de12a24bc929551aa2eb2cbbe2a991dfddc076f0 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 12 Nov 2013 14:39:25 +0100 Subject: [PATCH] folder: fix -fperl-logic --- fold.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fold.c b/fold.c index cd827bc..735758c 100644 --- a/fold.c +++ b/fold.c @@ -563,8 +563,10 @@ static GMQCC_INLINE ast_expression *fold_op_rshift(fold_t *fold, ast_value *a, a static GMQCC_INLINE ast_expression *fold_op_andor(fold_t *fold, ast_value *a, ast_value *b, float expr) { if (fold_can_2(a, b)) { if (OPTS_FLAG(PERL_LOGIC)) { - if (fold_immediate_true(fold, a)) - return (ast_expression*)b; + if (expr) + return (fold_immediate_true(fold, a)) ? (ast_expression*)a : (ast_expression*)b; + else + return (fold_immediate_true(fold, a)) ? (ast_expression*)b : (ast_expression*)a; } else { return fold_constgen_float ( fold, -- 2.39.2