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. --- c67-gen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'c67-gen.c') diff --git a/c67-gen.c b/c67-gen.c index a26dfaa..5a6fd56 100644 --- a/c67-gen.c +++ b/c67-gen.c @@ -2102,7 +2102,7 @@ int gtst(int inv, int t) C67_NOP(5); t = ind1; //return where we need to patch - } else { /* VT_JMP || VT_JMPI */ + } else if (v == VT_JMP || v == VT_JMPI) { /* && or || optimization */ if ((v & 1) == inv) { /* insert vtop->c jump list in t */ -- cgit v1.3.1