[Bug c++/53505] [4.7/4.8 Regression] bitfield with bool type generated broken object file
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon May 28 13:39:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53505
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-05-28 13:25:34 UTC ---
SRA creates:
<unnamed-unsigned:1> a$6;
...
a$6_21 = MEM[(const struct A &)D.9923_20 + 6];
D.10122_23 = (int) a$6_21;
which expansion doesn't handle as extract_bit_field (both MEM_REF and
TARGET_MEM_REF are expanded that way), so the zero extension is performed just
as QI->SImode zero extension.
I'd say that SRA shouldn't be creating such MEM_REFs and instead should keep
the BIT_FIELD_REFs.
More information about the Gcc-bugs
mailing list