From 17b316d9df91377796f9155ec47e598de5d7b1b5 Mon Sep 17 00:00:00 2001 From: aoliva Date: Tue, 9 Oct 2007 04:55:17 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129152 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/tree-sra.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d275fbb437d..03230d1eebe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-10-09 James E. Wilson + + 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 PR tree-optimization/33572 diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index f8b4470562e..21da0c0a298 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -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 (); -- 2.11.4.GIT