public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value
@ 2003-03-22 15:06 ebotcazou
0 siblings, 0 replies; 2+ messages in thread
From: ebotcazou @ 2003-03-22 15:06 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, p.van-hoof
Old Synopsis: [sparc] gcc -m64 produces wrong code when passing struct as parameter
New Synopsis: [Sparc] gcc -m64 produces wrong code when passing structures by value
State-Changed-From-To: open->analyzed
State-Changed-By: ebotcazou
State-Changed-When: Sat Mar 22 15:06:18 2003
State-Changed-Why:
Confirmed on all active branches. The obvious workaround is
to pass the structure by reference. gcc 2.95.3 ICEs on the testcase so this is not a regression.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10142
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value
@ 2003-04-14 17:26 Christian Ehrhardt
0 siblings, 0 replies; 2+ messages in thread
From: Christian Ehrhardt @ 2003-04-14 17:26 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
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!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-04-14 17:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-22 15:06 c/10142: [Sparc] gcc -m64 produces wrong code when passing structures by value ebotcazou
2003-04-14 17:26 Christian Ehrhardt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).