diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-07-29 06:25:58 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-07-29 06:25:58 -0400 |
commit | f53b4c93f7a270544b96cb48fa0c52dd03f0e191 (patch) | |
tree | b596a438a4434d9ea806aab030b1677336f7f05d /gcc | |
parent | 7edd39eb80b5de5db5add3fa716e09be5dc42e47 (diff) | |
download | gcc-f53b4c93f7a270544b96cb48fa0c52dd03f0e191.zip gcc-f53b4c93f7a270544b96cb48fa0c52dd03f0e191.tar.gz gcc-f53b4c93f7a270544b96cb48fa0c52dd03f0e191.tar.bz2 |
(LEGITIMATE_PIC_OPERAND_P): Reject CONST_DOUBLE with MEM with invalid
pic address.
From-SVN: r10189
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/m68kv4.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/m68k/m68kv4.h b/gcc/config/m68k/m68kv4.h index fc21c9b..0af0013 100644 --- a/gcc/config/m68k/m68kv4.h +++ b/gcc/config/m68k/m68kv4.h @@ -1,5 +1,5 @@ /* Target definitions for GNU compiler for mc680x0 running System V.4 - Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc. Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com). @@ -284,8 +284,11 @@ int switch_table_difference_label_flag; operand of a function call. */ #undef LEGITIMATE_PIC_OPERAND_P #define LEGITIMATE_PIC_OPERAND_P(X) \ - (! symbolic_operand (X, VOIDmode) \ - || ((GET_CODE(X) == SYMBOL_REF) && SYMBOL_REF_FLAG(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))) \ + || (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X))) /* Turn off function cse if we are doing PIC. We always want function call to be done as `bsr foo@PLTPC', so it will force the assembler to create |