From: Jakub Jelinek Date: Tue, 9 Mar 2010 18:54:25 +0000 (+0100) Subject: re PR bootstrap/43299 (Subversion id 157264 breaks powerpc 64-bit bootstraps) X-Git-Tag: releases/gcc-4.5.0~440 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb1fcdaa11c571780374065c383708826624f22d;p=thirdparty%2Fgcc.git re PR bootstrap/43299 (Subversion id 157264 breaks powerpc 64-bit bootstraps) PR debug/43299 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs. From-SVN: r157317 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 105d366691bf..dddf99091eb6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2010-03-09 Jakub Jelinek + PR debug/43299 + * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs. + PR debug/43299 * var-tracking.c (adjust_sets): New function. (count_with_sets, add_with_sets): Use it. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 25951194f576..5aa9df4417cd 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -12826,6 +12826,22 @@ const_ok_for_output_1 (rtx *rtlp, void *data ATTRIBUTE_UNUSED) { rtx rtl = *rtlp; + if (GET_CODE (rtl) == UNSPEC) + { + /* If delegitimize_address couldn't do anything with the UNSPEC, assume + we can't express it in the debug info. */ +#ifdef ENABLE_CHECKING + inform (current_function_decl + ? DECL_SOURCE_LOCATION (current_function_decl) + : UNKNOWN_LOCATION, + "non-delegitimized UNSPEC %d found in variable location", + XINT (rtl, 1)); +#endif + expansion_failed (NULL_TREE, rtl, + "UNSPEC hasn't been delegitimized.\n"); + return 1; + } + if (GET_CODE (rtl) != SYMBOL_REF) return 0;