From 2437ccdc768b1a4fde3255b2090e180b74ab198f Mon Sep 17 00:00:00 2001 From: seyko Date: Tue, 3 Mar 2015 15:51:09 +0300 Subject: A partial reverse for commit eda2c756edc4dca004ba217d5bf361235dd9de1f Author: Thomas Preud'homme Date: Tue Dec 31 23:51:20 2013 +0800 Move logic for if (int value) to tccgen.c Move the logic to do a test of an integer value (ex if (0)) out of arch-specific code to tccgen.c to avoid code duplication. This also fixes test of long long value which was only testing the bottom half of such values on 32 bits architectures. I don't understand why if () in gtst(i) was removed. This patch allows to compile a linux kernel v.2.4.26 W/o this patch a tcc simply crashes. --- arm-gen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arm-gen.c') diff --git a/arm-gen.c b/arm-gen.c index 680a490..5dd6c5e 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -1418,7 +1418,7 @@ int gtst(int inv, int t) op|=encbranch(r,t,1); o(op); t=r; - } else { /* VT_JMP || VT_JMPI */ + } else if (v == VT_JMP || v == VT_JMPI) { if ((v & 1) == inv) { if(!vtop->c.i) vtop->c.i=t; -- cgit v1.3.1