I can confirm this output on Windows with mob f10ab130 (2025-03-28), but only with tcc 32 bit build.
And, at least on Windows, it also needs #include <inttypes.h> However, this program is buggy, because the format %d is for int (32 bit on Windows), while the values are 64 bit, so a mismatch and undefined behavior is expected. The correct C99/POSIX format for 64 bit signed int is PRId64, like so: printf("%" PRId64 " %" PRId64 "\n", a, b); And using that, the output is correct - 111 and 222. Bottom line, the program is buggy, and IMO it's not a bug. - avih On Friday, May 16, 2025 at 12:20:04 PM GMT+3, Sun via Tinycc-devel <tinycc-devel@nongnu.org> wrote: #include <stdio.h> int main(int argc, char **argv) { int64_t a=111,b=222; printf("%d %d\n",a,b); return 0; } output: 111 0 _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel