https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78586
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Simplified testcase: void foo (unsigned long x) { char a[30]; unsigned long b = __builtin_sprintf (a, "%lu", x); if (b != 4) __builtin_abort (); } int main () { foo (1000); return 0; } (note, the original one has UB, %d used to print size_t value).