OSDN Git Service

PR 28490
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Sep 2006 16:09:48 +0000 (16:09 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Sep 2006 16:09:48 +0000 (16:09 +0000)
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
pointers as legitimate constants.

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

gcc/ChangeLog
gcc/config/ia64/ia64.c

index 030f172..5d8aeff 100644 (file)
@@ -1,3 +1,9 @@
+2006-09-19  Steve Ellcey  <sje@cup.hp.com>
+
+       PR  28490
+       * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
+       pointers as legitimate constants.
+
 2006-09-19  Paul Brook  <paul@codesourcery.com>
 
        PR target/28516
 2006-09-19  Paul Brook  <paul@codesourcery.com>
 
        PR target/28516
index 71953e2..8a98b24 100644 (file)
@@ -831,8 +831,9 @@ ia64_legitimate_constant_p (rtx x)
              op = XEXP (XEXP (op, 0), 0);
            }
 
              op = XEXP (XEXP (op, 0), 0);
            }
 
-         if (any_offset_symbol_operand (op, GET_MODE (op)))
-           return true;
+          if (any_offset_symbol_operand (op, GET_MODE (op))
+              || function_operand (op, GET_MODE (op)))
+            return true;
          if (aligned_offset_symbol_operand (op, GET_MODE (op)))
            return (addend & 0x3fff) == 0;
          return false;
          if (aligned_offset_symbol_operand (op, GET_MODE (op)))
            return (addend & 0x3fff) == 0;
          return false;