[PATCH, tree-optimization]: Fix PR43528, ICE: in tree_low_cst, at tree.c:6198 with -mms-bitfields

Uros Bizjak ubizjak@gmail.com
Sat Mar 27 13:35:00 GMT 2010


Hello!

Attached patch fixes the testcase with -mms-bitfields for rather 
interesting testcase:

struct S { int i[(1LL<<  60) - 1]; };



There are acutally multiple solutions to this problem, involving 
signedness of the bit index (see PR for other variants). It looks that 
this patch makes the most sense, and until we all have to deal with 
variables of 2^60 bit width, all discussions can be considered mostly of 
an "academic" type.

2010-03-27  Uros Bizjak <ubizjak@gmail.com>

     PR tree-optimization/43528
     * stor-layout.c (place_field): Check for unsigned HWI values when
     skipping calculation of MS bitfield layout.

testsuite/ChangeLog:

2010-03-27  Uros Bizjak <ubizjak@gmail.com>

     PR tree-optimization/43528
     * gcc.target/i386/pr43528.c: New test.

Patch was tested on x86_64-pc-linux-gnu {,-m32}.

OK for mainline?

Uros.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: p.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100327/ed2bd27b/attachment.txt>


More information about the Gcc-patches mailing list