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: ACATS


> -----Original Message-----
> From: gcc-owner On Behalf Of John R. Shannon
> Sent: 29 April 2004 16:59

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Thank you. I have a case of '.L124' being reference where it 
> should be '.L123'.


  Ouch.  Grep the source for ASM_OUTPUT_INTERNAL_LABEL where the second
parameter is "L", and you'll see that these are generated in final_scan_insn
in final.c, using CODE_LABEL_NUMBER (insn).  However defaults.h also
implements default definitions of ASM_OUTPUT_ADDR_VEC_ELT and
ASM_OUTPUT_DEBUG_LABEL from ASM_OUTPUT_INTERNAL_LABEL.  So your problem may
be specifically related either to switch....case constructs, or to debug
info, or your problem may be more generic.  What's actually at .L123 ?

  The problem seems likely to be that either the CODE_LABEL_NUMBER field of
the insn is getting stomped on, or something is damaging the operand of the
reference in the label_ref.  It might become clear which by following the
rtl dumps through the various stages; or it might be something you can
locate easily by setting a watchpoint or two with gdb.  I'd suspect
something going wrong when insns get deleted, myself.



    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....


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