From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28510 invoked by alias); 7 Dec 2009 20:49:31 -0000 Received: (qmail 28465 invoked by uid 48); 7 Dec 2009 20:49:16 -0000 Date: Mon, 07 Dec 2009 20:49:00 -0000 Message-ID: <20091207204916.28464.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/42324] [4.3/4.4/4.5 Regression] Gcc doesn't follow x86-64 psABI on _Bool In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-12/txt/msg00739.txt.bz2 ------- Comment #5 from rguenth at gcc dot gnu dot org 2009-12-07 20:49 ------- The ABI says "is passed", not "is returned". The frontend did return-value promotion until I disabled that (see endless discussions and libffi fixes at that point). So where is a _Bool passed in a registed or on the stack in your testcases? I see the _Bool on stack is properly extended to 32bits. That the ABI requires 64bits here for _Bool seems odd - does it require that for char and int, too? There is an invalid dup for the return value promotion btw. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.3.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324