https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105491
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> --- And since it only happens with a polymorphic class, my bet is that we think there are two members because one is the artificial vtable for S and the other is the bool. I can poke more.