diff options
| author | grischka <grischka> | 2016-10-02 01:38:22 +0200 |
|---|---|---|
| committer | grischka <grischka> | 2016-10-02 01:39:14 +0200 |
| commit | c2ad11ac70b9ae2010eb63d5eaf77ede0168ca41 (patch) | |
| tree | c81d6cfa09bfcf1d9f0b433bb5e5846582cce702 /tests/Makefile | |
| parent | f350487e1e5d4606c8b1508f920b7325c3c50bc1 (diff) | |
| download | tinycc-c2ad11ac70b9ae2010eb63d5eaf77ede0168ca41.tar.gz tinycc-c2ad11ac70b9ae2010eb63d5eaf77ede0168ca41.tar.bz2 | |
tccgen: fix long long -> char/short cast
This was causing assembler bugs in a tcc compiled by itself
at i386-asm.c:352 when ExprValue.v was changed to uint64_t:
if (op->e.v == (int8_t)op->e.v)
op->type |= OP_IM8S;
A general test case:
#include <stdio.h>
int main(int argc, char **argv)
{
long long ll = 4000;
int i = (char)ll;
printf("%d\n", i);
return 0;
}
Output was "4000", now "-96".
Also: add "asmtest2" as asmtest with tcc compiled by itself
Diffstat (limited to 'tests/Makefile')
| -rw-r--r-- | tests/Makefile | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/tests/Makefile b/tests/Makefile index 78b5644..50b3a8c 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -21,7 +21,7 @@ TESTS = \ BTESTS = test1b test3b btest # test4 -- problem with -static -# asmtest -- minor differences with gcc +# asmtest / asmtest2 -- minor differences with gcc # btest -- works on i386 (including win32) # bounds-checking is supported only on i386 @@ -173,12 +173,15 @@ asmtest.ref: asmtest.S $(CC) -Wa,-W -o asmtest.ref.o -c asmtest.S objdump -D asmtest.ref.o > asmtest.ref -asmtest: asmtest.ref +asmtest asmtest2: asmtest.ref @echo ------------ $@ ------------ - $(TCC) -c asmtest.S + $(TCC) $(MAYBE_RUN_TCC) -c asmtest.S objdump -D asmtest.o > asmtest.out @if diff -u --ignore-matching-lines="file format" asmtest.ref asmtest.out ; then echo "ASM Auto Test OK"; fi +# test assembler with tcc compiled by itself +asmtest2: MAYBE_RUN_TCC = $(RUN_TCC) + # Check that code generated by libtcc is binary compatible with # that generated by CC abitest-cc$(EXESUF): abitest.c $(LIBTCC) |
