re PR tree-optimization/33655 (ICE in bitfield_overlaps_p, at tree-sra.c:2901)

PR tree-optimization/33655
PR middle-end/22156
* tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
convert it to bitsizetype before size_binop call.

From-SVN: r129152
This commit is contained in:
James E Wilson 2007-10-09 04:55:17 +00:00 committed by Alexandre Oliva
parent 1e4cc5399f
commit 8df9c702e6
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2007-10-09 James E. Wilson <wilson@specifix.com>
PR tree-optimization/33655
PR middle-end/22156
* tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
convert it to bitsizetype before size_binop call.
2007-10-09 Alexandre Oliva <aoliva@redhat.com>
PR tree-optimization/33572

View File

@ -2906,7 +2906,8 @@ bitfield_overlaps_p (tree blen, tree bpos, struct sra_elt *fld,
else if (TREE_CODE (fld->element) == INTEGER_CST)
{
flen = fold_convert (bitsizetype, TYPE_SIZE (fld->type));
fpos = size_binop (MULT_EXPR, flen, fld->element);
fpos = fold_convert (bitsizetype, fld->element);
fpos = size_binop (MULT_EXPR, flen, fpos);
}
else
gcc_unreachable ();