2013-12-11 Sandra Loosemore <sandra@codesourcery.com>
commit72e9011ec83e61c8a62b96074f946f05bee20b7a
authoredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Dec 2013 16:50:05 +0000 (11 16:50 +0000)
committeredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Dec 2013 16:50:05 +0000 (11 16:50 +0000)
tree1adfbe0c18fd93a2d8326c0ccef386d4e2b54fed
parent9a454437251975138c99d92f209fed0ae0ae4ec8
2013-12-11  Sandra Loosemore  <sandra@codesourcery.com>

        PR middle-end/23623
        PR middle-end/48784
        PR middle-end/56341
        PR middle-end/56997

        gcc/
        * expmed.c (strict_volatile_bitfield_p): New function.
        (store_bit_field_1): Don't special-case strict volatile
        bitfields here.
        (store_bit_field): Handle strict volatile bitfields here instead.
        (store_fixed_bit_field): Don't special-case strict volatile
        bitfields here.
        (extract_bit_field_1): Don't special-case strict volatile
        bitfields here.
        (extract_bit_field): Handle strict volatile bitfields here instead.
        (extract_fixed_bit_field): Don't special-case strict volatile
        bitfields here.  Simplify surrounding code to resemble that in
        store_fixed_bit_field.
        * doc/invoke.texi (Code Gen Options): Update
        -fstrict-volatile-bitfields description.

        gcc/testsuite/
        * gcc.dg/pr23623.c: New test.
        * gcc.dg/pr48784-1.c: New test.
        * gcc.dg/pr48784-2.c: New test.
        * gcc.dg/pr56341-1.c: New test.
        * gcc.dg/pr56341-2.c: New test.
        * gcc.dg/pr56997-1.c: New test.
        * gcc.dg/pr56997-2.c: New test.
        * gcc.dg/pr56997-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205896 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/doc/invoke.texi
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr23623.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr48784-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr48784-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56341-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56341-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56997-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56997-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56997-3.c [new file with mode: 0644]