ASM_OUTPUT_ADDR_VEC_ELT

Jim Wilson wilson@specifixinc.com
Thu Apr 15 20:16:00 GMT 2004


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



More information about the Gcc mailing list