diff options
| author | grischka <grischka> | 2017-07-23 21:24:11 +0200 |
|---|---|---|
| committer | grischka <grischka> | 2017-07-23 21:24:11 +0200 |
| commit | 4b3c6e74aba07d61e91b2e0ba7190483a0f9f000 (patch) | |
| tree | 8e91e83762d9c60dd81182b9d423f8addb3532f2 /tcc.c | |
| parent | fdc18d307aafce6e8833b0eb26c1313da88cfc9a (diff) | |
| download | tinycc-4b3c6e74aba07d61e91b2e0ba7190483a0f9f000.tar.gz tinycc-4b3c6e74aba07d61e91b2e0ba7190483a0f9f000.tar.bz2 | |
tccgen: nodata_wanted fix, default ONE_SOURCE, etc...
tccgen.c:
doubles need to be aligned, on ARM. The section_reserve()
in init_putv does not do that.
-D ONE_SOURCE: is now the default and not longer needed. Also,
tcc.h now sets the default native target. These both make
compiling tcc simple as "gcc tcc.c -o tcc -ldl" again.
arm-asm.c:
enable pseudo asm also for inline asm
tests/tests2/Makefile:
disable bitfield tests except on windows and x86_64
and don't generate-always
tcc.c:
fix a loop with -dt on errors
configure:
print compiler version (as recognized)
tccpp.c:
actually define symbols for tcc -dt
clear static variables (needed for -dt or libtcc usage)
96_nodata_wanted.c:
use __label__ instead of asm
lib/files:
use native symbols (__i386__ etc.) instead of TCC_TARGET_...
Diffstat (limited to 'tcc.c')
| -rw-r--r-- | tcc.c | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -18,10 +18,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifdef ONE_SOURCE -#include "libtcc.c" -#else #include "tcc.h" +#if ONE_SOURCE +# include "libtcc.c" #endif #include "tcctools.c" @@ -335,12 +334,14 @@ redo: } s->filetype = 0; s->alacarte_link = 1; - if (ret || --n == 0 + if (--n == 0 || ret || (s->output_type == TCC_OUTPUT_OBJ && !s->option_r)) break; } - if (s->output_type == TCC_OUTPUT_PREPROCESS) { + if (s->run_test) { + t = 0; + } else if (s->output_type == TCC_OUTPUT_PREPROCESS) { ; } else if (0 == ret) { if (s->output_type == TCC_OUTPUT_MEMORY) { @@ -357,10 +358,6 @@ redo: } } - if (t) - ret = 0; - if (s->run_test) - t = 0; if (s->do_bench && (n | t | ret) == 0) tcc_print_stats(s, getclock_ms() - start_time); tcc_delete(s); |
