(print_operand_address): print_operand_address creates PLUS-rtls for
internal use, so it has to handle them. From-SVN: r7372
This commit is contained in:
parent
6ded32282b
commit
8c4ff866d8
@ -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)
|
|||||||
/* 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)
|
|||||||
#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
|
||||||
|
Loading…
Reference in New Issue
Block a user