aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-09-28 14:04:48 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-09-28 14:04:48 -0400
commitc57eee671195eb511c607b0b61d0f4b560a0db68 (patch)
treeeba5e506799c1f45c6f250c72e970fcc2ec272d3
parentd9832fd253ac2556b41919567daba72470f4043a (diff)
downloadgcc-c57eee671195eb511c607b0b61d0f4b560a0db68.zip
gcc-c57eee671195eb511c607b0b61d0f4b560a0db68.tar.gz
gcc-c57eee671195eb511c607b0b61d0f4b560a0db68.tar.bz2
(LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref.
From-SVN: r10409
-rw-r--r--gcc/config/m68k/m68k.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index e54bee3..3b8c3c4 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1080,10 +1080,12 @@ __transfer_from_trampoline () \
that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
#define LEGITIMATE_PIC_OPERAND_P(X) \
- (! symbolic_operand (X, VOIDmode) \
- && ! (GET_CODE (X) == CONST_DOUBLE && CONST_DOUBLE_MEM (X) \
- && GET_CODE (CONST_DOUBLE_MEM (X)) == MEM \
- && symbolic_operand (XEXP (CONST_DOUBLE_MEM (X), 0), VOIDmode)))
+ ((! symbolic_operand (X, VOIDmode) \
+ && ! (GET_CODE (X) == CONST_DOUBLE && CONST_DOUBLE_MEM (X) \
+ && GET_CODE (CONST_DOUBLE_MEM (X)) == MEM \
+ && symbolic_operand (XEXP (CONST_DOUBLE_MEM (X), 0), \
+ VOIDmode))) \
+ || (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X)))
/* The macros REG_OK_FOR..._P assume that the arg is a REG rtx
and check its validity for a certain class.