Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-28 Thread Sandra Loosemore
On 08/23/2012 03:51 AM, Chung-Lin Tang wrote: WRT only the code expansion aspects in store_fixed_bit_field(), would a test of "STRICT_ALIGNMENT&& MEM_ALIGN(op0)< GET_MODE_ALIGNMENT(mode)" be sufficient to detect instead of a packedp parameter? As an experiment, I tried putting in an assertio

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-23 Thread Sandra Loosemore
On 08/23/2012 03:08 AM, Richard Guenther wrote: In fact, you should probably implement code-generation constraints from within the frontends by, for strict volatile bitfields, emitting loads/stores using DECL_BIT_FIELD_REPRESENTATIVE (doing read-modify-write explicitely). Or maybe you can elabo

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-23 Thread Richard Guenther
On Thu, Aug 23, 2012 at 11:51 AM, Chung-Lin Tang wrote: > On 2012/8/23 05:08, Richard Guenther wrote: >>> First of all the warning should be probably issued from stor-layout.c >>> itself - see >>> other cases where we warn about packed structs. Yes, that means you'll >>> get the warning even when

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-23 Thread Chung-Lin Tang
On 2012/8/23 05:08, Richard Guenther wrote: >> First of all the warning should be probably issued from stor-layout.c >> itself - see >> other cases where we warn about packed structs. Yes, that means you'll >> get the warning even when there is no access but you'll only get it a >> single time. >>

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-23 Thread Richard Guenther
On Thu, Aug 23, 2012 at 10:58 AM, Richard Guenther wrote: > On Thu, Aug 23, 2012 at 5:37 AM, Sandra Loosemore > wrote: >> On 08/22/2012 03:27 PM, Eric Botcazou wrote: + bool packedp = false; + + if (TREE_CODE(to) == COMPONENT_REF +&& (TYPE_PACKED

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-23 Thread Richard Guenther
On Thu, Aug 23, 2012 at 5:37 AM, Sandra Loosemore wrote: > On 08/22/2012 03:27 PM, Eric Botcazou wrote: >>> >>> + bool packedp = false; >>> + >>> + if (TREE_CODE(to) == COMPONENT_REF >>> +&& (TYPE_PACKED (TREE_TYPE (TREE_OPERAND (to, 0))) >>> >>> + || (

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-22 Thread Sandra Loosemore
On 08/22/2012 03:27 PM, Eric Botcazou wrote: + bool packedp = false; + + if (TREE_CODE(to) == COMPONENT_REF +&& (TYPE_PACKED (TREE_TYPE (TREE_OPERAND (to, 0))) + || (TREE_CODE (TREE_OPERAND (to, 1)) == FIELD_DECL +&& DECL_PACKED (TREE_OPERAND (to, 1))

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-22 Thread Eric Botcazou
> + bool packedp = false; > + > + if (TREE_CODE(to) == COMPONENT_REF > + && (TYPE_PACKED (TREE_TYPE (TREE_OPERAND (to, 0))) > + || (TREE_CODE (TREE_OPERAND (to, 1)) == FIELD_DECL > + && DECL_PACKED (TREE_OPERAND (to

Re: [PATCH] fix wrong-code bug for -fstrict-volatile-bitfields

2012-08-22 Thread Richard Guenther
On Tue, Aug 21, 2012 at 10:20 PM, Sandra Loosemore wrote: > This patch is a followup to the addition of support for > -fstrict-volatile-bitfields (required by the ARM EABI); see this thread > > http://gcc.gnu.org/ml/gcc-patches/2010-10/msg01889.html > > for discussion of the original patch. > > Th