printf cannot handle uint64 integers greater than 2^32-1
Reported by Stéphane MOTTELET (@mottelet)
BUG DESCRIPTION:
----------------
Whether %u or %lu is used the problem is the same: printf displays "0" for uint64 integers greater than 2^32-1
HOW TO REPRODUCE THE BUG:
-------------------------
x=uint64(2^32-1)
printf("%u\n",x)
x=x+1
printf("%u\n",x)
printf("%lu\n",x)
--> x=uint64(2^32-1)
x =
4294967295
--> printf("%u\n",x)
4294967295
--> x=x+1
x =
4294967296
--> printf("%u\n",x)
0
--> printf("%lu\n",x)
0