mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-17 15:44:18 +08:00
Other mature backends (i386, x86_64, arm64) all define PROMOTE_RET, which forces explicit sign/zero extension of narrow return types at the caller side. Without it, riscv64 relied on the assumption that RV64 registers are always sign-extended, which may not hold when interfacing with non-TCC compilers. Verified on Spacemit X100 (riscv64): self-compilation is self-consistent across 3 layers. test3 reference mismatch is expected — the test intentionally invokes UB via type-punned function pointers (csf macro). |
||
|---|---|---|
| .. | ||
| pp | ||
| tests2 | ||
| 42test.h | ||
| abitest.c | ||
| arm-asm-testsuite.sh | ||
| asm-c-connect-1.c | ||
| asm-c-connect-2.c | ||
| asmtest.S | ||
| boundtest.c | ||
| bug.c | ||
| gcctestsuite.sh | ||
| libtcc_test_mt.c | ||
| libtcc_test.c | ||
| Makefile | ||
| msvcrt_start.c | ||
| tcctest.c | ||
| tcctest.h | ||
| test-win32.bat | ||
| testfp.c | ||
| vla_test.c | ||