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;
}
$