aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E Wilson <wilson@tuliptree.org>2008-03-31 20:04:15 -0700
committerJim Wilson <wilson@gcc.gnu.org>2008-03-31 20:04:15 -0700
commit048ffb8f5004368e0369f6270c2395e47c65d8ec (patch)
tree7d5e9acd966756e167738745c34ee1d17544888f
parenta7d6cabcad0fb265fe0fed648c9fef55486ac719 (diff)
downloadgcc-048ffb8f5004368e0369f6270c2395e47c65d8ec.zip
gcc-048ffb8f5004368e0369f6270c2395e47c65d8ec.tar.gz
gcc-048ffb8f5004368e0369f6270c2395e47c65d8ec.tar.bz2
Fix IA-64 enable-checking glibc ICE.
* varasm.c (output_constant_pool_1): In LABEL_REF check, use tmp consistently. From-SVN: r133783
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/varasm.c10
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44dabe8..fbc465e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -19,6 +19,9 @@
2008-03-31 James E. Wilson <wilson@tuliptree.org>
+ * varasm.c (output_constant_pool_1): In LABEL_REF check, use tmp
+ consistently.
+
PR target/35695
* config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
* config/ia64/ia64.c (rtx_needs_barrier): Handle
diff --git a/gcc/varasm.c b/gcc/varasm.c
index f4607b4..7311049 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3685,17 +3685,17 @@ output_constant_pool_1 (struct constant_descriptor_rtx *desc,
functioning even with INSN_DELETED_P and friends. */
tmp = x;
- switch (GET_CODE (x))
+ switch (GET_CODE (tmp))
{
case CONST:
- if (GET_CODE (XEXP (x, 0)) != PLUS
- || GET_CODE (XEXP (XEXP (x, 0), 0)) != LABEL_REF)
+ if (GET_CODE (XEXP (tmp, 0)) != PLUS
+ || GET_CODE (XEXP (XEXP (tmp, 0), 0)) != LABEL_REF)
break;
- tmp = XEXP (XEXP (x, 0), 0);
+ tmp = XEXP (XEXP (tmp, 0), 0);
/* FALLTHRU */
case LABEL_REF:
- tmp = XEXP (x, 0);
+ tmp = XEXP (tmp, 0);
gcc_assert (!INSN_DELETED_P (tmp));
gcc_assert (!NOTE_P (tmp)
|| NOTE_KIND (tmp) != NOTE_INSN_DELETED);