re PR tree-optimization/46620 (32-bit structures containing bitfields are not copied correctly on -O2 , x86 backend)

PR tree-optimization/46620
* tree-sra.c (try_instantiate_multiple_fields): Don't get stuck at
padding within accessed words.

From-SVN: r170328
This commit is contained in:
Alexandre Oliva 2011-02-19 21:15:01 +00:00 committed by Alexandre Oliva
parent aaea2f902a
commit f3f7e335f0
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2011-02-19 Alexandre Oliva <aoliva@redhat.com>
PR tree-optimization/46620
* tree-sra.c (try_instantiate_multiple_fields): Don't get stuck at
padding within accessed words.
2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.

View File

@ -1661,13 +1661,13 @@ try_instantiate_multiple_fields (struct sra_elt *elt, tree f)
|| mbit + msize <= fbit)
continue;
if (fbit <= mbit)
if (fbit < bit)
{
unsigned HOST_WIDE_INT diff = fbit + fsize - mbit;
mbit += diff;
msize -= diff;
}
else if (fbit > mbit)
else if (fbit > bit)
msize -= (mbit + msize - fbit);
else
gcc_unreachable ();