This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch for 930513-1 on Darwin
- To: dalej at apple dot com
- Subject: Re: patch for 930513-1 on Darwin
- From: Geoff Keating <geoffk at geoffk dot org>
- Date: 31 May 2001 17:03:47 -0700
- CC: gcc-patches at gcc dot gnu dot org
- References: <200105312359.QAA01734@scv3.apple.com>
dalej@apple.com writes:
> Background:
> We have a longstanding failure on test execute/930513-1.c with -O3 for
> Darwin. What happens is that a function name is passed to a callee,
> which expects a pointer-to-function, which is dereferenced and called.
> When the callee is expanded inline, the nested call becomes a direct
> call to the function name. On Darwin, the required syntax for a
> function name is different when you call it and when you pass its
> address, so the inliner needs to change things to compensate. I don't
> see any hooks for this in integrate.c (perhaps by coincidence, no other
> machine I know of has such a requirement) so I added a macro. There
> will be no functional change on any other target.
>
> 2001-05-31 Dale Johannesen <dalej@apple.com>
>
> * integrate.c, config/rs6000/darwin.h: for Darwin, change
> function name
> syntax when function passed as parameter is called, due to
> inlining. Macro
> ADJUST_CALLEE_SYM_NAME added. Functional change on Darwin
> only.
Why can't this transformation be done in the call patterns of the MD file?
I think that's how it's done for AIX.
--
- Geoffrey Keating <geoffk@geoffk.org>