diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2013-12-11 17:09:17 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2013-12-11 17:09:17 +0000 |
commit | ebb99f967b8d4b1c23dfba167e16dd2c6786633a (patch) | |
tree | 4ba21c39b0d8a3c5a6bae82fe8579f445e23044e /gcc/expr.c | |
parent | 6f4e9cf84204e690b7c32060f8eb7d978bfcf2ca (diff) | |
download | gcc-ebb99f967b8d4b1c23dfba167e16dd2c6786633a.zip gcc-ebb99f967b8d4b1c23dfba167e16dd2c6786633a.tar.gz gcc-ebb99f967b8d4b1c23dfba167e16dd2c6786633a.tar.bz2 |
re PR middle-end/59134 (infinite loop between store_fixed_bit_field and store_split_bit_field with STRICT_ALIGNMENT)
2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/59134
* expmed.c (store_bit_field): Use narrow_bit_field_mem and
store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
(store_fixed_bit_field): Split up. Call store_fixed_bit_field_1
to do the real work.
(store_fixed_bit_field_1): New function.
(store_split_bit_field): Limit the unit size to the memory mode size,
to prevent recursion.
testsuite:
* gcc.c-torture/compile/pr59134.c: New test.
* gnat.dg/misaligned_volatile.adb: New test.
From-SVN: r205898
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions