aboutsummaryrefslogtreecommitdiff
path: root/tests/Makefile
diff options
context:
space:
mode:
authorgrischka <grischka>2016-10-02 01:38:22 +0200
committergrischka <grischka>2016-10-02 01:39:14 +0200
commitc2ad11ac70b9ae2010eb63d5eaf77ede0168ca41 (patch)
treec81d6cfa09bfcf1d9f0b433bb5e5846582cce702 /tests/Makefile
parentf350487e1e5d4606c8b1508f920b7325c3c50bc1 (diff)
downloadtinycc-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/Makefile9
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)