the following testcase is extracted from WINE. 
 
It is to some degree problematic because "BOOL" is a signed int, 
but we use 1 bit wide bitfields here. 
 
Also the ":0" might be a GNU extension. 
 
The problem is that with gcc 3.3.5: 
gcc -O2 -o xx xx.c ; ./xx 
<no output> 
 
but with gcc 4.1 branch: 
/home/marcus/projects/gcc/BIN/bin/gcc -O2 -march=i586 -mtune=i586   xx.c   -o 
xx; ./xx 
xx: xx.c:24: main: Assertion `sizeof(CABINETSTATE) == 8' failed. 
 
so the layout and final size of this struct changed.

-- 
           Summary: bitfield layout change (regression?)
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: marcus at jet dot franken dot de
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22275

Reply via email to