herman ten brugge
c9bbd4e707
Allow strings in __builtin_constant_p
...
tccgen.c:
- Fix handling __builtin_constant_p
tests/bug.c:
- Remove tst3
tests/tcctest.c:
- Add new tests for __builtin_constant_p
2020-09-17 09:11:10 +02:00
herman ten brugge
4a16bebfab
Struct va_arg fix
...
lib/va_list.c:
- Handle struct {double, double} correctly
arm64-gen.c:
riscv64-gen.c:
x86_64-gen.c:
- Allow zero sized structs to work with va_arg
tcctest.c:
- Add new va_arg test code
test/bug.c:
- Remove tst2 va_arg test
2020-09-17 08:42:28 +02:00
herman ten brugge
a34a9775ba
Fix char to ushort cast
...
tccgen.c:
- gen_cast: add check for char to ushort cast
tests/bug.c:
- remove tst1
tests/tests2/117_gcc_test.c:
- add tst_cast
2020-08-21 19:35:30 +02:00
herman ten brugge
9712aff9c0
Fix gcc testsuite problems
...
arm-gen.c:
- is_hgen_float_aggr/gfunc_sret: Fix for zero sized structs
arm64-gen.c:
- arm64_ldrs: Fix for zero sized structs
- arm64_sym: Use R_AARCH64_ABS64 instead of R_AARCH64_MOVW_UABS_G*
This has same speed. See 117_gcc_test.c(tst_adr)
- load: Fix for zero sized structs and add VT_CONST | VT_LVAL support
- store: add VT_CONST | VT_LVAL support
- arm64_gen_bl_or_b: Allow branch. See 117_gcc_test.c(tst_branch)
- gen_bounds_prolog: Use R_AARCH64_ABS64 for bound checking
- gen_bounds_epilog: Use R_AARCH64_ABS64 for bound checking
- gfunc_call: Allow large stack
- arm64_gen_opic: Do not crash on large shift
riscv64-gen.c:
- load: Move type_size call. (move_reg set sv.type.ref NULL for VT_STRUCT)
- gfunc_call: Allow large stack
- gen_opil: Fix word mode calls
x86_64-gen.c:
- load: Fix for zero sized structs
libtcc.c:
- Add some defines for gcc testsuite (only most common)
tccgen.c:
- parse_builtin_params: Add types for builtins
- unary: Add builtins: __builtin_abort __builtin_memcpy __builtin_memcmp
__builtin_memmove __builtin_memset __builtin_strlen
__builtin_strcpy __builtin_strncpy __builtin_strcmp
__builtin_strncmp __builtin_strcat __builtin_strchr
__builtin_strdup __builtin_malloc __builtin_realloc
__builtin_calloc __builtin_free __builtin_alloca
- decl_initializer: Fix crash. See 60_errors_and_warnings(test_var_array)
tccmacho.c:
- Remove 'ret = 0'
tcctok.h:
- Add builtin/bound checking tokens
tests/gcctestsuite.sh:
- Add more counters and run execute tests
tests/bug.c
- Some remaining bugs in tcc (not complete)
tests/tests2/60_errors_and_warnings:
- Add test_var_array test
tests/tests2/117_gcc_test:
- New test
Results of gcctestsuite.sh for all targets:
linux:
x86_64: 3036 test(s) ok. 328 test(s) failed. 24 test(s) exe failed.
i386: 3037 test(s) ok. 327 test(s) failed. 24 test(s) exe failed.
arm: 2986 test(s) ok. 362 test(s) failed. 40 test(s) exe failed.
arm64: 2996 test(s) ok. 367 test(s) failed. 25 test(s) exe failed.
macos: 3031 test(s) ok. 332 test(s) failed. 25 test(s) exe failed.
riscv: 2948 test(s) ok. 401 test(s) failed. 39 test(s) exe failed.
windows:
x86_64: 3027 test(s) ok. 333 test(s) failed. 28 test(s) exe failed.
i386: 3029 test(s) ok. 331 test(s) failed. 28 test(s) exe failed.
linux with bounds checking:
x86_64: 3030 test(s) ok. 328 test(s) failed. 30 test(s) exe failed.
i386: 3028 test(s) ok. 327 test(s) failed. 33 test(s) exe failed.
arm: 2997 test(s) ok. 362 test(s) failed. 29 test(s) exe failed.
arm64: 2986 test(s) ok. 367 test(s) failed. 35 test(s) exe failed.
macos: 3026 test(s) ok. 332 test(s) failed. 30 test(s) exe failed.
riscv: 2936 test(s) ok. 409 test(s) failed. 43 test(s) exe failed.
windows with bounds checking:
x86_64: 3029 test(s) ok. 332 test(s) failed. 27 test(s) exe failed.
i386: 3027 test(s) ok. 331 test(s) failed. 30 test(s) exe failed.
all: fail for complex and vector types, nested functions
and a lot of gcc defines/buitins.
arm/arm64/riscv: fail for asm and alloca.
riscv: fail with 'error: unimp: store(struct)'
2020-07-05 14:01:50 +02:00