https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109031
--- Comment #26 from Martin Liška <marxin at gcc dot gnu.org> ---
Simplified to:
unsigned char zero;
int main() {
unsigned g = 0;
unsigned *p1 = &g;
unsigned char *p2 = &zero;
do {
(*p1)++;
(*p2)--;
} while (zero);
__builtin_printf ("g=%u\n", g);
if (g != 256)
__builtin_abort();
return 0;
}
