diff options
author | Steve Ellcey <sje@cup.hp.com> | 2006-09-19 16:09:48 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2006-09-19 16:09:48 +0000 |
commit | 7ab629664b6fae00406eeb8b662802b39b5d0f70 (patch) | |
tree | 4116078183253fbe2e19f8543b09fedb9adad0ea | |
parent | 758ed9b25fa9d4bd8ae56ee4e67f1d3e4f6ac10d (diff) | |
download | gcc-7ab629664b6fae00406eeb8b662802b39b5d0f70.zip gcc-7ab629664b6fae00406eeb8b662802b39b5d0f70.tar.gz gcc-7ab629664b6fae00406eeb8b662802b39b5d0f70.tar.bz2 |
re PR target/28490 (ICE in ia64_expand_move, at config/ia64/ia64.c:1088)
PR 28490
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
pointers as legitimate constants.
From-SVN: r117057
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 030f172..5d8aeff 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 71953e2..8a98b24 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; |