Commit 8c4ff866 by Richard Kenner

(print_operand_address): print_operand_address creates PLUS-rtls for

internal use, so it has to handle them.

From-SVN: r7372
parent 6ded3228
...@@ -627,7 +627,7 @@ print_operand_address (file, addr) ...@@ -627,7 +627,7 @@ print_operand_address (file, addr)
off = XEXP (tmp1,1); off = XEXP (tmp1,1);
if (GET_CODE (sym) == SYMBOL_REF) if (GET_CODE (sym) == SYMBOL_REF)
{ {
if (GET_CODE (off) != CONST_INT) if (GET_CODE (off) != CONST_INT)
abort (); abort ();
if (CONSTANT_POOL_ADDRESS_P (sym) if (CONSTANT_POOL_ADDRESS_P (sym)
...@@ -772,9 +772,10 @@ print_operand_address (file, addr) ...@@ -772,9 +772,10 @@ print_operand_address (file, addr)
/* Abs. addresses don't need a base (I think). */ /* Abs. addresses don't need a base (I think). */
if (GET_CODE (offset) != CONST_INT if (GET_CODE (offset) != CONST_INT
#ifndef PC_RELATIVE #ifndef PC_RELATIVE
&& GET_CODE (offset) != LABEL_REF && GET_CODE (offset) != LABEL_REF
&& GET_CODE (offset) != SYMBOL_REF && GET_CODE (offset) != SYMBOL_REF
&& GET_CODE (offset) != CONST && GET_CODE (offset) != CONST
&& GET_CODE (offset) != PLUS
#endif #endif
) )
{ {
...@@ -794,7 +795,8 @@ print_operand_address (file, addr) ...@@ -794,7 +795,8 @@ print_operand_address (file, addr)
#ifdef PC_RELATIVE #ifdef PC_RELATIVE
else if (GET_CODE (offset) == LABEL_REF else if (GET_CODE (offset) == LABEL_REF
|| GET_CODE (offset) == SYMBOL_REF || GET_CODE (offset) == SYMBOL_REF
|| GET_CODE (offset) == CONST) || GET_CODE (offset) == CONST
|| GET_CODE (offset) == PLUS)
fprintf (file, "(pc)"); fprintf (file, "(pc)");
#endif #endif
#ifdef BASE_REG_NEEDED /* this is defined if the assembler always #ifdef BASE_REG_NEEDED /* this is defined if the assembler always
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment