summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-11 02:24:17 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-11 02:24:17 +0000
commit2607b1ba02eb0f573db490f631496a65bce56943 (patch)
tree7a705f2055f62dfe9dbb7bc465b4cf2acc66c028
parentfb062b27e3728f9a4be4246e2a3c503a104687f2 (diff)
downloadgcc-2607b1ba02eb0f573db490f631496a65bce56943.tar.gz
* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40384 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sh/sh.h7
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 767be09b98a..972a5c64e0e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
+
2001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 5e18291cf9f..60f63190da5 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1792,6 +1792,13 @@ do \
} \
while (0)
+/* We can't directly access anything that contains a symbol,
+ nor can we indirect via the constant pool. */
+#define LEGITIMATE_PIC_OPERAND_P(X) \
+ (! nonpic_symbol_mentioned_p (X) \
+ && (! CONSTANT_POOL_ADDRESS_P (X) \
+ || ! nonpic_symbol_mentioned_p (get_pool_constant (X))))
+
#define SYMBOLIC_CONST_P(X) \
((GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == LABEL_REF) \
&& nonpic_symbol_mentioned_p (X))