RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Committed to ARM/embedded-4_8-branch Still pending to gcc-4_8-branch. > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: 27 February 2014 13:53 > To: 'ja...@redhat.com'; 'gcc-patches@gcc.gnu.org' > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping ^ 5 > > > -Original Message- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: 19 February 2014 17:22 > > To: 'ja...@redhat.com'; gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > 4.8 > > > > Ping ^ 4 > > > > > -Original Message- > > > From: Joey Ye [mailto:joey...@arm.com] > > > Sent: Friday, February 14, 2014 9:58 > > > To: gcc-patches@gcc.gnu.org > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > to > > > 4.8 > > > > > > Ping ^3 > > > > > > These fixes are very important to 4.8 ARM embedded users, as they > > > rely on strict volatile bitfields a lot. Please let them in 4.8. > > > > > > > -Original Message- > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > Sent: Saturday, February 08, 2014 10:42 > > > > To: gcc-patches@gcc.gnu.org > > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > > to > > > > 4.8 > > > > > > > > Ping ^ 2 > > > > > > > > OK to 4.8? > > > > > > > > > -Original Message- > > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > > Sent: Monday, January 20, 2014 10:47 > > > > > To: gcc-patches@gcc.gnu.org > > > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields > > > > > fixes to 4.8 > > > > > > > > > > Ping > > > > > > > > > > > -Original Message- > > > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > > > Sent: Thursday, January 16, 2014 16:28 > > > > > > To: gcc-patches@gcc.gnu.org > > > > > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > > > > to > > > > > > 4.8 > > > > > > > > > > > > 4.8 has a number of strict-volatile-bitfields issues that can > > > > > > be fixed by following patches. > > > > > > trunk@205899, 205898, 205897, 205896, 203003 > > > > > > > > > > > > Tested on x86_64 and arm without regression. > > > > > > > > > > > > OK to 4.8? > > > > > > > > > > > > 2013-09-28 Sandra Loosemore > > > > > > > > > > > > gcc/ > > > > > > * expr.h (extract_bit_field): Remove packedp parameter. > > > > > > * expmed.c (extract_fixed_bit_field): Remove packedp > > parameter > > > > > > from forward declaration. > > > > > > (store_split_bit_field): Remove packedp arg from calls to > > > > > > extract_fixed_bit_field. > > > > > > (extract_bit_field_1): Remove packedp parameter and packedp > > > > > > argument from recursive calls and calls to > extract_fixed_bit_field. > > > > > > (extract_bit_field): Remove packedp parameter and > > corresponding > > > > > > arg to extract_bit_field_1. > > > > > > (extract_fixed_bit_field): Remove packedp parameter. > > > > > > Remove > > > > code > > > > > > to issue warnings. > > > > > > (extract_split_bit_field): Remove packedp arg from call to > > > > > > extract_fixed_bit_field. > > > > > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > > > > > (copy_blkmode_from_reg): Likewise. > > > > > > (copy_blkmode_to_reg): Likewise. > > > > > > (read_complex_part): Likewise. > > > > > > (store_field): Likewise. > > > > > > (expand_expr_real_1): Likewise. > > > > > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust > call > > > > > > to extract_bit_field. > > > > > > * config/
RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Ping ^ 5 > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: 19 February 2014 17:22 > To: 'ja...@redhat.com'; gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping ^ 4 > > > -Original Message- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: Friday, February 14, 2014 9:58 > > To: gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > 4.8 > > > > Ping ^3 > > > > These fixes are very important to 4.8 ARM embedded users, as they rely > > on strict volatile bitfields a lot. Please let them in 4.8. > > > > > -Original Message- > > > From: Joey Ye [mailto:joey...@arm.com] > > > Sent: Saturday, February 08, 2014 10:42 > > > To: gcc-patches@gcc.gnu.org > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > to > > > 4.8 > > > > > > Ping ^ 2 > > > > > > OK to 4.8? > > > > > > > -----Original Message- > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > Sent: Monday, January 20, 2014 10:47 > > > > To: gcc-patches@gcc.gnu.org > > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > > to 4.8 > > > > > > > > Ping > > > > > > > > > -Original Message- > > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > > Sent: Thursday, January 16, 2014 16:28 > > > > > To: gcc-patches@gcc.gnu.org > > > > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > > > to > > > > > 4.8 > > > > > > > > > > 4.8 has a number of strict-volatile-bitfields issues that can be > > > > > fixed by following patches. > > > > > trunk@205899, 205898, 205897, 205896, 203003 > > > > > > > > > > Tested on x86_64 and arm without regression. > > > > > > > > > > OK to 4.8? > > > > > > > > > > 2013-09-28 Sandra Loosemore > > > > > > > > > > gcc/ > > > > > * expr.h (extract_bit_field): Remove packedp parameter. > > > > > * expmed.c (extract_fixed_bit_field): Remove packedp > parameter > > > > > from forward declaration. > > > > > (store_split_bit_field): Remove packedp arg from calls to > > > > > extract_fixed_bit_field. > > > > > (extract_bit_field_1): Remove packedp parameter and packedp > > > > > argument from recursive calls and calls to extract_fixed_bit_field. > > > > > (extract_bit_field): Remove packedp parameter and > corresponding > > > > > arg to extract_bit_field_1. > > > > > (extract_fixed_bit_field): Remove packedp parameter. > > > > > Remove > > > code > > > > > to issue warnings. > > > > > (extract_split_bit_field): Remove packedp arg from call to > > > > > extract_fixed_bit_field. > > > > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > > > > (copy_blkmode_from_reg): Likewise. > > > > > (copy_blkmode_to_reg): Likewise. > > > > > (read_complex_part): Likewise. > > > > > (store_field): Likewise. > > > > > (expand_expr_real_1): Likewise. > > > > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > > > > > to extract_bit_field. > > > > > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > > > > > call to extract_bit_field. > > > > > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): > Adjust > > > > > call to extract_bit_field. > > > > > * doc/invoke.texi (Code Gen Options): Remove mention of > > warnings > > > > > and special packedp behavior from -fstrict-volatile-bitfields > > > > > documentation. > > > > > > > > > > 2013-12-11 Bernd Edlinger > > > > > > > > > > * expr.c (expand_assignment): Remove dependency on > > > > > flag_strict_volatile_bitfields. Always set the memory > > >
RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Ping ^ 4 > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: Friday, February 14, 2014 9:58 > To: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping ^3 > > These fixes are very important to 4.8 ARM embedded users, as they rely on > strict volatile bitfields a lot. Please let them in 4.8. > > > -Original Message- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: Saturday, February 08, 2014 10:42 > > To: gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > 4.8 > > > > Ping ^ 2 > > > > OK to 4.8? > > > > > -Original Message- > > > From: Joey Ye [mailto:joey...@arm.com] > > > Sent: Monday, January 20, 2014 10:47 > > > To: gcc-patches@gcc.gnu.org > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > to 4.8 > > > > > > Ping > > > > > > > -Original Message- > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > Sent: Thursday, January 16, 2014 16:28 > > > > To: gcc-patches@gcc.gnu.org > > > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > > > 4.8 > > > > > > > > 4.8 has a number of strict-volatile-bitfields issues that can be > > > > fixed by following patches. > > > > trunk@205899, 205898, 205897, 205896, 203003 > > > > > > > > Tested on x86_64 and arm without regression. > > > > > > > > OK to 4.8? > > > > > > > > 2013-09-28 Sandra Loosemore > > > > > > > > gcc/ > > > > * expr.h (extract_bit_field): Remove packedp parameter. > > > > * expmed.c (extract_fixed_bit_field): Remove packedp parameter > > > > from forward declaration. > > > > (store_split_bit_field): Remove packedp arg from calls to > > > > extract_fixed_bit_field. > > > > (extract_bit_field_1): Remove packedp parameter and packedp > > > > argument from recursive calls and calls to extract_fixed_bit_field. > > > > (extract_bit_field): Remove packedp parameter and corresponding > > > > arg to extract_bit_field_1. > > > > (extract_fixed_bit_field): Remove packedp parameter. > > > > Remove > > code > > > > to issue warnings. > > > > (extract_split_bit_field): Remove packedp arg from call to > > > > extract_fixed_bit_field. > > > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > > > (copy_blkmode_from_reg): Likewise. > > > > (copy_blkmode_to_reg): Likewise. > > > > (read_complex_part): Likewise. > > > > (store_field): Likewise. > > > > (expand_expr_real_1): Likewise. > > > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > > > > to extract_bit_field. > > > > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > > > > call to extract_bit_field. > > > > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Adjust > > > > call to extract_bit_field. > > > > * doc/invoke.texi (Code Gen Options): Remove mention of > warnings > > > > and special packedp behavior from -fstrict-volatile-bitfields > > > > documentation. > > > > > > > > 2013-12-11 Bernd Edlinger > > > > > > > > * expr.c (expand_assignment): Remove dependency on > > > > flag_strict_volatile_bitfields. Always set the memory > > > > access mode. > > > > (expand_expr_real_1): Likewise. > > > > > > > > 2013-12-11 Sandra Loosemore > > > > > > > > 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. > > > > (stor
RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Ping ^3 These fixes are very important to 4.8 ARM embedded users, as they rely on strict volatile bitfields a lot. Please let them in 4.8. > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: Saturday, February 08, 2014 10:42 > To: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping ^ 2 > > OK to 4.8? > > > -Original Message- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: Monday, January 20, 2014 10:47 > > To: gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > > > Ping > > > > > -Original Message- > > > From: Joey Ye [mailto:joey...@arm.com] > > > Sent: Thursday, January 16, 2014 16:28 > > > To: gcc-patches@gcc.gnu.org > > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > > > > > 4.8 has a number of strict-volatile-bitfields issues that can be fixed > > > by following patches. > > > trunk@205899, 205898, 205897, 205896, 203003 > > > > > > Tested on x86_64 and arm without regression. > > > > > > OK to 4.8? > > > > > > 2013-09-28 Sandra Loosemore > > > > > > gcc/ > > > * expr.h (extract_bit_field): Remove packedp parameter. > > > * expmed.c (extract_fixed_bit_field): Remove packedp parameter > > > from forward declaration. > > > (store_split_bit_field): Remove packedp arg from calls to > > > extract_fixed_bit_field. > > > (extract_bit_field_1): Remove packedp parameter and packedp > > > argument from recursive calls and calls to extract_fixed_bit_field. > > > (extract_bit_field): Remove packedp parameter and corresponding > > > arg to extract_bit_field_1. > > > (extract_fixed_bit_field): Remove packedp parameter. Remove > code > > > to issue warnings. > > > (extract_split_bit_field): Remove packedp arg from call to > > > extract_fixed_bit_field. > > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > > (copy_blkmode_from_reg): Likewise. > > > (copy_blkmode_to_reg): Likewise. > > > (read_complex_part): Likewise. > > > (store_field): Likewise. > > > (expand_expr_real_1): Likewise. > > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > > > to extract_bit_field. > > > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > > > call to extract_bit_field. > > > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Adjust > > > call to extract_bit_field. > > > * doc/invoke.texi (Code Gen Options): Remove mention of warnings > > > and special packedp behavior from -fstrict-volatile-bitfields > > > documentation. > > > > > > 2013-12-11 Bernd Edlinger > > > > > > * expr.c (expand_assignment): Remove dependency on > > > flag_strict_volatile_bitfields. Always set the memory > > > access mode. > > > (expand_expr_real_1): Likewise. > > > > > > 2013-12-11 Sandra Loosemore > > > > > > 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/ > > >
RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Ping ^ 2 OK to 4.8? > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: Monday, January 20, 2014 10:47 > To: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping > > > -Original Message- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: Thursday, January 16, 2014 16:28 > > To: gcc-patches@gcc.gnu.org > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > > > 4.8 has a number of strict-volatile-bitfields issues that can be fixed > > by following patches. > > trunk@205899, 205898, 205897, 205896, 203003 > > > > Tested on x86_64 and arm without regression. > > > > OK to 4.8? > > > > 2013-09-28 Sandra Loosemore > > > > gcc/ > > * expr.h (extract_bit_field): Remove packedp parameter. > > * expmed.c (extract_fixed_bit_field): Remove packedp parameter > > from forward declaration. > > (store_split_bit_field): Remove packedp arg from calls to > > extract_fixed_bit_field. > > (extract_bit_field_1): Remove packedp parameter and packedp > > argument from recursive calls and calls to extract_fixed_bit_field. > > (extract_bit_field): Remove packedp parameter and corresponding > > arg to extract_bit_field_1. > > (extract_fixed_bit_field): Remove packedp parameter. Remove code > > to issue warnings. > > (extract_split_bit_field): Remove packedp arg from call to > > extract_fixed_bit_field. > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > (copy_blkmode_from_reg): Likewise. > > (copy_blkmode_to_reg): Likewise. > > (read_complex_part): Likewise. > > (store_field): Likewise. > > (expand_expr_real_1): Likewise. > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > > to extract_bit_field. > > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > > call to extract_bit_field. > > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Adjust > > call to extract_bit_field. > > * doc/invoke.texi (Code Gen Options): Remove mention of warnings > > and special packedp behavior from -fstrict-volatile-bitfields > > documentation. > > > > 2013-12-11 Bernd Edlinger > > > > * expr.c (expand_assignment): Remove dependency on > > flag_strict_volatile_bitfields. Always set the memory > > access mode. > > (expand_expr_real_1): Likewise. > > > > 2013-12-11 Sandra Loosemore > > > > 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. > > > > 2013-12-11 Bernd Edlinger > > Sandra Loosemore > > > > PR middle-end/23623 > > PR middle-end/48784 > > PR middle-end/56341 > > PR middle-end/56997 > > * expmed.c (strict_volatile_bitfield_p): Add bitregion_start > > and bitregion_end parameters. Test for compliance with C++ > > memory model. > > (st
RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8
Ping > -Original Message- > From: Joey Ye [mailto:joey...@arm.com] > Sent: Thursday, January 16, 2014 16:28 > To: gcc-patches@gcc.gnu.org > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > 4.8 has a number of strict-volatile-bitfields issues that can be fixed by > following patches. > trunk@205899, 205898, 205897, 205896, 203003 > > Tested on x86_64 and arm without regression. > > OK to 4.8? > > 2013-09-28 Sandra Loosemore > > gcc/ > * expr.h (extract_bit_field): Remove packedp parameter. > * expmed.c (extract_fixed_bit_field): Remove packedp parameter > from forward declaration. > (store_split_bit_field): Remove packedp arg from calls to > extract_fixed_bit_field. > (extract_bit_field_1): Remove packedp parameter and packedp > argument from recursive calls and calls to extract_fixed_bit_field. > (extract_bit_field): Remove packedp parameter and corresponding > arg to extract_bit_field_1. > (extract_fixed_bit_field): Remove packedp parameter. Remove code > to issue warnings. > (extract_split_bit_field): Remove packedp arg from call to > extract_fixed_bit_field. > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > (copy_blkmode_from_reg): Likewise. > (copy_blkmode_to_reg): Likewise. > (read_complex_part): Likewise. > (store_field): Likewise. > (expand_expr_real_1): Likewise. > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > to extract_bit_field. > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > call to extract_bit_field. > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Adjust > call to extract_bit_field. > * doc/invoke.texi (Code Gen Options): Remove mention of warnings > and special packedp behavior from -fstrict-volatile-bitfields > documentation. > > 2013-12-11 Bernd Edlinger > > * expr.c (expand_assignment): Remove dependency on > flag_strict_volatile_bitfields. Always set the memory > access mode. > (expand_expr_real_1): Likewise. > > 2013-12-11 Sandra Loosemore > > 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. > > 2013-12-11 Bernd Edlinger > Sandra Loosemore > > PR middle-end/23623 > PR middle-end/48784 > PR middle-end/56341 > PR middle-end/56997 > * expmed.c (strict_volatile_bitfield_p): Add bitregion_start > and bitregion_end parameters. Test for compliance with C++ > memory model. > (store_bit_field): Adjust call to strict_volatile_bitfield_p. > Add fallback logic for cases where -fstrict-volatile-bitfields > is supposed to apply, but cannot. > (extract_bit_field): Likewise. Use narrow_bit_field_mem and > extract_fixed_bit_field_1 to do the extraction. > (extract_fixed_bit_field): Revert to previous mode selection algorithm. > Call extract_fixed_bit_field_1 to do the real work. > (extract_fixed_bit_field_1): New function. > > testsuite: > * gcc.dg/pr23623.c: Update to test interaction with C++ > memory model. > > 2013-12-11 Bernd Edlinger > > 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 pr