diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-12-20 16:46:22 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2011-12-20 16:46:22 +0000 |
commit | 36acc1a242b5ab2f9c29d45bca8bed2ab2a82218 (patch) | |
tree | d0a86f6d0ca1212b434d7c1b46b1acf3cc04c3b6 /gcc/config/m32c | |
parent | 51e641f8ef0fc822104911d964ee30f1afea179d (diff) | |
download | gcc-36acc1a242b5ab2f9c29d45bca8bed2ab2a82218.zip gcc-36acc1a242b5ab2f9c29d45bca8bed2ab2a82218.tar.gz gcc-36acc1a242b5ab2f9c29d45bca8bed2ab2a82218.tar.bz2 |
expr.c (store_field): Avoid a direct store if the mode is larger than the size of the bit field.
gcc/
* 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.
gcc/testsuite/
* gcc.target/arm/volatile-bitfields-4.c: New test.
* c-c++-common/abi-bf.c: New test.
From-SVN: r182545
Diffstat (limited to 'gcc/config/m32c')
-rw-r--r-- | gcc/config/m32c/m32c.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index 04f6905..d86a618 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -417,7 +417,7 @@ m32c_option_override (void) flag_ivopts = 0; /* This target defaults to strict volatile bitfields. */ - if (flag_strict_volatile_bitfields < 0) + if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2)) flag_strict_volatile_bitfields = 1; /* r8c/m16c have no 16-bit indirect call, so thunks are involved. |