[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-29 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #15 from Tomohiro Kashiwada 2011-10-29 14:37:15 UTC --- I see. Thanks detail exposition. I think the behavior of my patch seems correct and it should be merged.

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-29 Thread henrik at henriknordstrom dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #14 from Henrik Nordström 2011-10-29 10:45:53 UTC --- (In reply to comment #13) > > See 7.1.7.5 second and third paragraph and the note just after. > > Is that means a statement > a = b; > always should be treat as if > tmp = b;

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-28 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #13 from Tomohiro Kashiwada 2011-10-29 06:50:11 UTC --- (In reply to comment #12) > Regarding the double load. In a statement like a = b, both a & be should be > individually accessed even if they refer to the same storage. So > bit

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-28 Thread henrik at henriknordstrom dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #12 from Henrik Nordström 2011-10-28 17:46:15 UTC --- Regarding the double load. In a statement like a = b, both a & be should be individually accessed even if they refer to the same storage. So bitfield.bits.a = bitfield.bits.c sho

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-28 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #11 from Tomohiro Kashiwada 2011-10-28 08:15:39 UTC --- Created attachment 25642 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25642 patch to honor STRICT_ALIGNMENT honor STRICT_ALIGNMENT when accessing non-volatile-bitfields

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-28 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #10 from Tomohiro Kashiwada 2011-10-28 08:13:31 UTC --- (In reply to comment #9) > http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf > section 7.1.7.5. Thanks, I see. On ARM ABI, reading or writing to volat

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-28 Thread henrik at henriknordstrom dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #9 from Henrik Nordström 2011-10-28 07:32:48 UTC --- C standard does not define any of this It's all implementation and platform ABI dependent. The C standard does define not storage size of a bit-field other than that it's suffici

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-27 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #8 from Tomohiro Kashiwada 2011-10-28 03:58:45 UTC --- (In reply to comment #7) > Right. r171347 seem to be about fetches from bitfields while this change is > about stores? > > An interesting test would be > > bitfield.bits.a =

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-27 Thread henrik at henriknordstrom dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #7 from Henrik Nordström 2011-10-28 01:59:34 UTC --- Right. r171347 seem to be about fetches from bitfields while this change is about stores? An interesting test would be bitfield.bits.a = bitfield.bits.c which should load the

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-27 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #6 from Tomohiro Kashiwada 2011-10-28 01:32:42 UTC --- (In reply to comment #5) > Is this related to the strict volatile bitfields change in trunk revision > 171347? > http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?view=log&pathrev=17134

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-27 Thread henrik at henriknordstrom dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 Henrik Nordström changed: What|Removed |Added CC||henrik at henriknordstrom

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-10-19 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #4 from Tomohiro Kashiwada 2011-10-20 01:53:33 UTC --- Created attachment 25559 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25559 proposal patch fix generating wrong code. no longer volatile-bitfield breaks other field.

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-09-26 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #3 from Tomohiro Kashiwada 2011-09-27 04:15:19 UTC --- Other test case (gcc generates wrong code): volatile union { // add volatiles tenaciously, but... volatile unsigned int all; volatile struct { volatile unsign

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-09-26 Thread kikairoya at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #2 from Tomohiro Kashiwada 2011-09-26 11:42:37 UTC --- Variable 'bitfield' declared as volatile, so all bitfield's members are volatile. Even if declare 'bits' as volatile, gcc dumps same code. However, adding option -fno-strict-volat

[Bug c/50521] -fstrict-volatile-bitfields is not strict

2011-09-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521 --- Comment #1 from Richard Guenther 2011-09-26 10:48:15 UTC --- I don't think volatile union bitfield constitutes a "volatile bitfield" as per what GCC implements.