https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> --- But if I change: - mutable char data; + mutable char data[sizeof (void *) + 2 * sizeof (bool)]; so that the union field occupies the size of some other union members, the warning is gone, but I still see: add r5, sp, #292 ... ldm r5, {r0, r1, r2} ... strb r6, [sp, #293]