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]

Re: Unreviewed patch (was: another bootstrap failure onsparc-sun-solaris28 in cp/xref.o)


> > Doesn't imply that assemble_integer handles the very issue you're
> > raising (whitespace formatting issues aside)?
> 
> No, that's just left-over wishful thinking.

Hmm ... walking:

  assemble_integer (gen_rtx_MINUS (Pmode, gen_rtx_SYMBOL_REF (Pmode, lab1),
                                   gen_rtx_SYMBOL_REF (Pmode, lab2)),
                    size, BITS_PER_UNIT, 1);

I see that assemble_integer will output output ".uaword" because
align < size * BITS_PER_UNIT.  It then calls output_addr_const
which sees the MINUS so it calls itself to handle the operand0
which is a SYMBOL_REF so assemble_name is called. "-" is then
printed and output_addr_const is called again to handle operand1
which is another SYMBOL_REF so assemble_name is called.

this seems identical to:

  fputs (unaligned_integer_asm_op (size), asm_out_file);
  assemble_name (asm_out_file, lab1);
  fputc ('-', asm_out_file);
  assemble_name (asm_out_file, lab2);

I don't mean to be thick ... am I reading the code wrong?

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------


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