mirror of
https://github.com/frida/tinycc
synced 2024-11-25 00:59:37 +03:00
ed15cddacd
Previously in order to perform a ll+ll operation tcc was trying to 'lexpand' PTR in gen_opl which did not work well. The case: int printf(const char *, ...); char t[] = "012345678"; int main(void) { char *data = t; unsigned long long r = 4; unsigned a = 5; unsigned long long b = 12; *(unsigned*)(data + r) += a - b; printf("data %s\n", data); return 0; }
16 lines
266 B
C
16 lines
266 B
C
int printf(const char *, ...);
|
|
char t[] = "012345678";
|
|
|
|
int main(void)
|
|
{
|
|
char *data = t;
|
|
unsigned long long r = 4;
|
|
unsigned a = 5;
|
|
unsigned long long b = 12;
|
|
|
|
*(unsigned*)(data + r) += a - b;
|
|
|
|
printf("data = \"%s\"\n", data);
|
|
return 0;
|
|
}
|