This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/23623] volatile keyword changes bitfield access size from 32bit to 8bit
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Aug 2005 12:43:29 -0000
- Subject: [Bug middle-end/23623] volatile keyword changes bitfield access size from 32bit to 8bit
- References: <20050829140226.23623.m.reszat@kostal.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rearnsha at gcc dot gnu dot org 2005-08-30 12:43 -------
Note this also happens on ARM where (in the EABI) it is definitely a bug becuase
the procedure call standard says it is.
Quoting from the AAPCS:
7.1.7.5 Volatile bit-fieldspreserving number and width of container accesses
When a volatile bit-field is read, its container must be read exactly once using
the access width appropriate to the type of the container.
When a volatile bit-field is written, its container must be read exactly once
and written exactly once using the access width appropriate to the type of the
container. The two accesses are not atomic.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rearnsha at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-08-30 12:43:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23623