aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5026be9..cbcd64f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,12 @@
2004-12-20 Roger Sayle <roger@eyesopen.com>
PR middle-end/18683
+ * config/rs6000/rs6000.c (current_file_function_operand): Only check
+ current_function_decl's DECL_RTL if it has already been set.
+
+2004-12-20 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/18683
* function.c (pop_function_context_from): Don't reset reg_renumber.
2004-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b2e64f6..8bedc58 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -2960,7 +2960,8 @@ current_file_function_operand (rtx op,
return (GET_CODE (op) == SYMBOL_REF
&& (DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op))
&& (SYMBOL_REF_LOCAL_P (op)
- || (op == XEXP (DECL_RTL (current_function_decl), 0))));
+ || (DECL_RTL_SET_P (current_function_decl)
+ && op == XEXP (DECL_RTL (current_function_decl), 0))));
}
/* Return 1 if this operand is a valid input for a move insn. */