mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-19 11:24:19 +08:00
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
|
||
|---|---|---|
| .. | ||
| pp | ||
| tests2 | ||
| abitest.c | ||
| asmtest.S | ||
| boundtest.c | ||
| gcctestsuite.sh | ||
| libtcc_test.c | ||
| Makefile | ||
| tcctest.c | ||
| tcctest.py | ||
| testfp.c | ||
| vla_test.c | ||