On Fri, Jun 04, 2010 at 07:45:20AM -0700, Ian Lance Taylor wrote:
> Nathan Froyd <froy...@codesourcery.com> writes:
> >     * config/i386/i386-protos.h (ix86_print_operand): Declare.
> >     * config/i386/i386.c (ix86_print_operand): Make non-static.
> >     * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
> >     * rtl.h (output_operand): Declare.
> >     * final.c (output_operand): Make non-static.
> 
> The changes in config/i386 are OK.
> 
> I don't understand the point of the changes to rtl.h and final.c.

The changes to rtl.h and final.c are necessary because PRINT_OPERAND* on
some platforms freely calls output_operand.  But now that PRINT_OPERAND*
has been hookized, that call to output_operand no longer appears
textually in final.c, but somewhere else (targhooks.c if the port has
not done the conversion PRINT_OPERAND* -> TARGET_PRINT_OPERAND*,
config/$PORT/$PORT.c if the port has), output_operand needs to be
exported.

Looking at things a little more closely, output_address is exported in
output.h.  I suppose output_operand should be exported there as well?

-Nathan

Reply via email to