This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c/3954: simple returns are broken when the return value is in a pseudo
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c/3954: simple returns are broken when the return value is in a pseudo
- From: dave dot anglin at nrc dot ca
- Date: 7 Aug 2001 04:53:52 -0000
- Cc: mark at codesourcery dot com
- Reply-To: dave dot anglin at nrc dot ca
>Number: 3954
>Category: c
>Synopsis: simple returns are broken when the return value is in a pseudo
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 06 21:56:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Dave Anglin
>Release: gcc-3.0
>Organization:
>Environment:
vax-dec-ultrix4.3
>Description:
This was first noticed with g++ but potentially affect C as well. It only affects ports that don't use an epilogue for function returns.
Incorrect code will be generated for the following test program when compiled with g++:
char *
srealloc (char *p, char *q, int i)
{
if (i == 0)
return p;
else
return q;
}
>How-To-Repeat:
>Fix:
A patch to fix the above problem is presently being tested.
If testing is successful, I will submit it later today for
review.
>Release-Note:
>Audit-Trail:
>Unformatted: