https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107244
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced test-case: $ cat pr107244.c typedef char xchar; struct monst { struct monst *nmon; short movement; char malign; xchar mx, my; unsigned : 7; unsigned : 7; unsigned : 11; unsigned mleashed : 1; } *level_0, *unleash_all_mtmp; void unleash_all() { for (; unleash_all_mtmp; unleash_all_mtmp = level_0) unleash_all_mtmp->mleashed = 0; }