This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/20371] Some corner cases of MS bitfields don't work


------- Additional Comments From amylaar at gcc dot gnu dot org  2005-04-15 15:32 -------
Created an attachment (id=8650)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8650&action=view)
Additional testcase

This is another testlet snipped out of gcc-dg-struct-layout-1-t026-01.
With the original patch, in struct S2503 field d overlaps field b,
and hence the store goes into the wrong place.
The idea of putting packed bit fields into rli->prev_field is bogus to
start with.  These fields are not necesasrily aligned like the underlying type,

and packed fields are not supposed to place more restrictions on the placement
of surrounding fields than ordinary non-bitfield types.  E.g. a packed
long long bitfield of size 8 is not expected to reserve more space than a
char field, even if it is followed by a non-packed bitfield of a different
type.

-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]