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]
Other format: [Raw text]

Re: [patch]: PR/36180


"Richard Guenther" <richard.guenther@gmail.com> wrote on 08.05.2008 
15:44:07:

> On Thu, May 8, 2008 at 3:37 PM, Kai Tietz <Kai.Tietz@onevision.com> 
wrote:
> > "Richard Guenther" <richard.guenther@gmail.com> wrote on 08.05.2008
> >  15:24:40:
> >
> >
> >
> >  > On Thu, May 8, 2008 at 3:14 PM, Graham Stott
> >  > <graham.stott@btinternet.com> wrote:
> >  > > Richard,
> >  > >
> >  > >  I think the 2nd part of the patch is wrong in the sense that we
> >  > don't protect
> >  > >  any of the other TARGET_FOO macros in target-def.h this way.
> >  > >
> >  > >  I think the correct solution is to remove the
> >  > TARGET_RETURN_IN_MEMORY define
> >  > >  from i386.h and add it to i386.c to override the default in the
> >  > same way for
> >  > >  all the other overriden TARGET_FOO macros.
> >  >
> >  > Kai, would you please fix this as suggested?
> >  >
> >  > Thanks,
> >  > Richard.
> >  >
> >  Ok, I will introduce in for subtargets the define
> >  SUBTARGET_RETURN_IN_MEMORY and define the TARGET_RETURN_IN_MEMORY 
just in
> >  i386.c file. Should we  make the ix86_return_in_memory functions in 
i386.c
> >  static and remove them from i386-protos.h?
> 
> Yes please.

By this patch TARGET_RETURN_IN_MEMORY is just declared in i386.c and 
points always to ix86_return_in_memory. This function is made static.
The functionix86_sol10_return_in_memory remains global to avoid 
unreferenced static function warning.
Each subtarget can override the behaviour of ix86_return_in_memory by 
defining SUBTARGET_RETURN_IN_MEMORY.

ChangeLog

2008-05-08  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386-protos.h (ix86_return_in_memory): Removed.
        (ix86_i386elf_return_in_memory): Likewise.
        (ix86_i386interix_return_in_memory): Likewise.
        * config/i386/i386-interix.h (TARGET_RETURN_IN_MEMORY): Removed.
        (SUBTARGET_RETURN_IN_MEMORY): New.
        * config/i386/i386elf.h: Likewise.
        * config/i386/ptx4-i.h: Likewise.
        * config/i386/sol2-10.h: Likewise.
        * config/i386/sysv4.h: Likewise.
        * config/i386/vx-common.h: Likewise.
        * config/i386/i386.h (TARGET_RETURN_IN_MEMORY): Removed.
        * config/i386/i386.c (ix86_return_in_memory): Made static and
        make use of optional SUBTARGET_RETURN_IN_MEMORY macro.
        (ix86_i386elf_return_in_memory): Removed.
        (ix86_i386interix_return_in_memory): Removed.
        (TARGET_RETURN_IN_MEMORY): Declared within i386.c only.
        * target-def.h (TARGET_RETURN_IN_MEMORY): Remove protection 
#ifdef.

Is this patch ok for apply after successful bootstrap?

Cheers
  Kai



|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

Attachment: fix_trim_i386.txt
Description: Text document


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