diff options
| author | seyko <seyko2@gmail.com> | 2015-03-03 15:51:09 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2015-03-03 15:51:09 +0300 |
| commit | 2437ccdc768b1a4fde3255b2090e180b74ab198f (patch) | |
| tree | f66c0114a12a3974f13abc001b5ac0f87e9750b0 /i386-gen.c | |
| parent | c45a8695ebbcbad812993d530e69bfa2de33f131 (diff) | |
| download | tinycc-2437ccdc768b1a4fde3255b2090e180b74ab198f.tar.gz tinycc-2437ccdc768b1a4fde3255b2090e180b74ab198f.tar.bz2 | |
A partial reverse for commit eda2c756edc4dca004ba217d5bf361235dd9de1f
Author: Thomas Preud'homme <robotux@celest.fr>
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.
Diffstat (limited to 'i386-gen.c')
| -rw-r--r-- | i386-gen.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -677,7 +677,7 @@ ST_FUNC int gtst(int inv, int t) /* fast case : can jump directly since flags are set */ g(0x0f); t = psym((vtop->c.i - 16) ^ inv, t); - } 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 */ |
