From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32575 invoked by alias); 30 Aug 2005 12:44:17 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 32093 invoked by uid 48); 30 Aug 2005 12:43:29 -0000 Date: Tue, 30 Aug 2005 12:51:00 -0000 Message-ID: <20050830124329.32092.qmail@sourceware.org> From: "rearnsha at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050829140226.23623.m.reszat@kostal.com> References: <20050829140226.23623.m.reszat@kostal.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/23623] volatile keyword changes bitfield access size from 32bit to 8bit X-Bugzilla-Reason: CC X-SW-Source: 2005-08/txt/msg03441.txt.bz2 List-Id: ------- 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