http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52979

--- Comment #11 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-04 
10:19:49 UTC ---
Author: rguenth
Date: Mon Jun  4 10:19:44 2012
New Revision: 188176

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188176
Log:
2012-06-04  Richard Guenther  <rguent...@suse.de>

    Backport from mainline
    2012-04-25  Jakub Jelinek  <ja...@redhat.com>

    PR middle-end/52979
    * stor-layout.c (get_best_mode): Don't return mode with bitsize
    larger than maxbits.  Don't compute maxbits modulo align.
    Also check that unit bytes long store at bitpos / unit * unit
    doesn't affect bits beyond bitregion_end.
    * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
    would not fit into bitregion_start ... bitregion_end + 1 bit
    region.
    (store_split_bit_field): Decrease unit close to end of bitregion_end
    if access is restricted in order to avoid mutual recursion.

    * gcc.c-torture/compile/pr52979-1.c: New test.
    * gcc.c-torture/execute/pr52979-1.c: New test.
    * gcc.c-torture/execute/pr52979-2.c: New test.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr52979-1.c
    branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/execute/pr52979-1.c
    branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/execute/pr52979-2.c
Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/expmed.c
    branches/gcc-4_7-branch/gcc/stor-layout.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

Reply via email to