OSDN Git Service

* config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Oct 2001 01:54:37 +0000 (01:54 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Oct 2001 01:54:37 +0000 (01:54 +0000)
missing CONSTANT_P test in core GCC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46239 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/cris/cris.c

index a6de0e3..9a27a7a 100644 (file)
@@ -1,3 +1,8 @@
+2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
+       missing CONSTANT_P test in core GCC.
+
 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cppmain.c (struct printer): New member source.
index 668811e..4a9e08d 100644 (file)
@@ -2239,6 +2239,12 @@ int
 cris_legitimate_pic_operand (x)
      rtx x;
 {
+  /* This test is due to a bug in the core of GCC.  See
+     <URL:http://gcc.gnu.org/ml/gcc-patches/2001-09/msg01038.html> for the
+     real fix; we shouldn't need to test CONSTANT_P here.  */
+  if (! CONSTANT_P (x))
+    return 0;
+
   /* The PIC representation of a symbol with a GOT entry will be (for
      example; relocations differ):
       sym => [rPIC+sym:GOT]