This is the mail archive of the
mailing list for the GCC project.
Re: [ping**4] Re: [patch 0/4] reimplement -fstrict-volatile-bitfields, v3
- From: Sandra Loosemore <sandra at codesourcery dot com>
- To: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Biener <richard dot guenther at gmail dot com>, Eric Botcazou <ebotcazou at adacore dot com>
- Date: Mon, 26 Aug 2013 07:58:32 -0600
- Subject: Re: [ping**4] Re: [patch 0/4] reimplement -fstrict-volatile-bitfields, v3
- Authentication-results: sourceware.org; auth=none
- References: <51D0F66B dot 6010507 at codesourcery dot com> <51DC390E dot 9070904 at codesourcery dot com> <51EAE108 dot 5030601 at codesourcery dot com>,<51F60CB3 dot 2050805 at codesourcery dot com> <DUB122-W45D34B4F615CA168C109D9E4490 at phx dot gbl>
On 08/26/2013 01:16 AM, Bernd Edlinger wrote:
This issue is really important. It does not only affect bitfields but
all kinds of packed structures.
Starting from gcc 4.6.0 there is not a single released version that
handles the packed structures correctly.
So could some one please approve Sandra's patch now?
Indeed. I understand that some people are still unhappy about changing
the intended behavior on targets where -fstrict-volatile-bitfields is
currently the default, like ARM. But right now all that default means
is that we are generating wrong code by default for those targets for
volatile bitfield and packed structure accesses -- and by "wrong code",
that means misaligned memory accesses or losing bits of the field, not
just code that doesn't conform to either the C++ memory model or AAPCS.
Moreover, -fstrict-volatile-bitfields currently doesn't behave as
documented on any target, whether or not it is the default.