mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-17 23:54:16 +08:00
tccgen.c:gv() when loading long long from lvalue, before
was saving all registers which caused problems in the arm
function call register parameter preparation, as with
void foo(long long y, int x);
int main(void)
{
unsigned int *xx[1], x;
unsigned long long *yy[1], y;
foo(**yy, **xx);
return 0;
}
Now only the modified register is saved if necessary,
as in this case where it is used to store the result
of the post-inc:
long long *p, v, **pp;
v = 1;
p = &v;
p[0]++;
printf("another long long spill test : %lld\n", *p);
i386-gen.c :
- found a similar problem with TOK_UMULL caused by the
vstack juggle in tccgen:gen_opl()
(bug seen only when using EBX as 4th register)
|
||
|---|---|---|
| .. | ||
| pp | ||
| tests2 | ||
| abitest.c | ||
| asmtest.S | ||
| boundtest.c | ||
| gcctestsuite.sh | ||
| libtcc_test.c | ||
| Makefile | ||
| tcctest.c | ||
| tcctest.py | ||
| testfp.c | ||
| vla_test.c | ||