https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102024
--- Comment #34 from Xi Ruoyao <xry111 at mengyan1223 dot wang> --- (In reply to Xi Ruoyao from comment #33) > > So in struct B { int : 0; double a, b; }; it will go into GPR and FPR > > GCC trunk puts "a" into FPR, not GPR! So the "leading" zero-width > bit-fields are ignored (GCC does not think it's a part of any "64-bit > chunk"), but other zero-width bit-fields are accounted... This is just > puzzling to me. Remove this: I just forgot to rename ".C" to ".c" when I tested this with GCC 11. But still I think clang's behavior is better. > I'll make a patch to match the behavior of clang.