From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26276 invoked by alias); 14 Apr 2003 17:26:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26220 invoked by uid 71); 14 Apr 2003 17:26:01 -0000 Date: Mon, 14 Apr 2003 17:26:00 -0000 Message-ID: <20030414172601.26213.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Christian Ehrhardt" Subject: Re: c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value Reply-To: "Christian Ehrhardt" X-SW-Source: 2003-04/txt/msg00631.txt.bz2 List-Id: The following reply was made to PR c/10142; it has been noted by GNATS. From: "Christian Ehrhardt" To: p.van-hoof@qub.ac.uk, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org Cc: Subject: Re: c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value Date: Mon, 14 Apr 2003 19:22:49 +0200 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10142 This patch seems to fix the problem for me, but regtests are still in progress and I'm not completly sure what the test is supposed to do in the first place. Index: calls.c =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/calls.c,v retrieving revision 1.263 diff -u -r1.263 calls.c --- calls.c 14 Mar 2003 01:59:16 -0000 1.263 +++ calls.c 14 Apr 2003 17:20:36 -0000 @@ -1317,7 +1317,11 @@ it means that we are to pass this arg in the register(s) designated by the PARALLEL, but also to pass it in the stack. */ if (args[i].reg && GET_CODE (args[i].reg) == PARALLEL +#if 0 && XEXP (XVECEXP (args[i].reg, 0, 0), 0) == 0) +#else + ) +#endif args[i].pass_on_stack = 1; /* If this is an addressable type, we must preallocate the stack regards Christian -- THAT'S ALL FOLKS!