diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 030f172173d9bd35b02eff37337a724f09f59958..5d8aeffa59ad88200cd8fc8013115609ceadb533 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 71953e29570984ac68708e9e118da0dc61bb92aa..8a98b2457c4d8408b8291c96653841eac7052241 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -831,8 +831,9 @@ ia64_legitimate_constant_p (rtx x) 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;