This is the mail archive of the gcc@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: ASM_OUTPUT_ADDR_VEC_ELT


Nathan Sidwell wrote:
I've noticed that the default definition of ASM_OUTPUT_ADDR_VEC_ELT is
broken,

Problem 1. It should be POINTER_SIZE / BITS_PER_UNIT.

This was fixed already by Kazu Hirata. He tried to use it in the h8300 port. I see that he eventually defined it in h8300.h, so he apparently gave up trying to use the default definition.
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg01814.html


Problem 2. It shold not be using *targetm.asm_out.internal_label, as
that is outputting a label definition.

This should be ASM_OUTPUT_LABEL_REF, except that this is an optional macro, and we use assemble_name if it isn't defined. See final.c. Except we can't do that inside another macro. So we would have to provide a default for ASM_OUTPUT_LABEL_REF first...


I think we should just delete the default definition of this macro. It isn't needed, and it has always been broken since it was added in 1992. There used to be both broken default definitions for ASM_OUTPUT_ADDR_VEC_ELT and ASM_OUTPUT_ADDR_DIFF_ELT, but the DIFF_ELT one was deleted in 1996. We should finish this by also deleting the broken default definition for ASM_OUTPUT_ADDR_VEC_ELT.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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