This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: patch for 930513-1 on Darwin


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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]