https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28763
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2016-01-26 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #16 from Martin Sebor <msebor at gcc dot gnu.org> --- I tried to reproduce the behavior reported in the Description with this week's trunk configured with --target=powerpc-eabispe and with the same options (see below), but the size (and alignment) of both structs is the same. Since there's been no activity in the bug report in over 6 years, I wonder if the problem has cleared up. Setting Status to WAITING to see if we can get a confirmation from the reporter, or more details as requested in comment #15. $ cat t.c && /build/sysroot/powerpc-eabispe/bin/powerpc-eabispe-g++ -S -gstabs+ -O2 -mno-bit-align -mcpu=603 -mtune=603 -mstrict-align t.c struct foo1 { unsigned int bar1 : 10; unsigned int bar2 : 16; unsigned int bar3 : 6; unsigned short bar4; }; struct foo2 { unsigned int bar1; unsigned short bar2; }; int main(void) { static foo1 fubar1 = { 1, 2, 3, 4 }; static foo2 fubar2 = { 1, 2 }; #define A(e) typedef int A [1 - 2 * !(e)] A (sizeof(foo1) == sizeof(foo2)); A (__alignof__ (foo1) == __alignof__ (foo2)); return 0; } $