diff options
author | James E Wilson <wilson@tuliptree.org> | 2008-03-31 20:04:15 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2008-03-31 20:04:15 -0700 |
commit | 048ffb8f5004368e0369f6270c2395e47c65d8ec (patch) | |
tree | 7d5e9acd966756e167738745c34ee1d17544888f | |
parent | a7d6cabcad0fb265fe0fed648c9fef55486ac719 (diff) | |
download | gcc-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/varasm.c | 10 |
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); |