This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/51200] Wrong code sequence to store restrict volatile bitfield
- From: "jye2 at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 29 Mar 2012 02:15:37 +0000
- Subject: [Bug middle-end/51200] Wrong code sequence to store restrict volatile bitfield
- Auto-submitted: auto-generated
- References: <bug-51200-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51200
--- Comment #7 from jye2 at gcc dot gnu.org 2012-03-29 02:15:37 UTC ---
Author: jye2
Date: Thu Mar 29 02:15:29 2012
New Revision: 185944
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185944
Log:
2012-03-28 Joey Ye <joey.ye@arm.com>
Backported from mainline
2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
PR middle-end/51200
* expr.c (store_field): Avoid a direct store if the mode is larger
than the size of the bit field.
* stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
treat non-volatile bit fields like volatile ones.
* toplev.c (process_options): Disallow combination of
-fstrict-volatile-bitfields and ABI versions less than 2.
* config/arm/arm.c (arm_option_override): Don't enable
flag_strict_volatile_bitfields if the ABI version is less than 2.
* config/h8300/h8300.c (h8300_option_override): Likewise.
* config/rx/rx.c (rx_option_override): Likewise.
* config/m32c/m32c.c (m32c_option_override): Likewise.
* config/sh/sh.c (sh_option_override): Likewise.
2011-12-22 Joey Ye <joey.ye@arm.com>
* toplev.c (process_options): Fix typo.
testcases:
Backported from mainline
2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
PR middle-end/51200
* gcc.target/arm/volatile-bitfields-4.c: New test.
* c-c++-common/abi-bf.c: New test.
2011-12-26 Joey Ye <joey.ye@arm.com>
PR middle-end/51200
* gcc.dg/volatile-bitfields-2.c: New test.
Added:
branches/gcc-4_6-branch/gcc/testsuite/c-c++-common/abi-bf.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/volatile-bitfields-2.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/arm/arm.c
branches/gcc-4_6-branch/gcc/config/h8300/h8300.c
branches/gcc-4_6-branch/gcc/config/m32c/m32c.c
branches/gcc-4_6-branch/gcc/config/rx/rx.c
branches/gcc-4_6-branch/gcc/config/sh/sh.c
branches/gcc-4_6-branch/gcc/expr.c
branches/gcc-4_6-branch/gcc/stor-layout.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/toplev.c