c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value

Christian Ehrhardt ehrhardt@mathematik.uni-ulm.de
Mon Apr 14 17:26:00 GMT 2003


The following reply was made to PR c/10142; it has been noted by GNATS.

From: "Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de>
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!



More information about the Gcc-prs mailing list