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

Reply via email to