diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-03-09 19:54:25 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-03-09 19:54:25 +0100 |
commit | eb1fcdaa11c571780374065c383708826624f22d (patch) | |
tree | 05b3f25ca95fd387712a79e675a76d6f1385d7f0 /gcc | |
parent | 69b89883e86e2d346d28c17e64681ff87b1f61cb (diff) | |
download | gcc-eb1fcdaa11c571780374065c383708826624f22d.zip gcc-eb1fcdaa11c571780374065c383708826624f22d.tar.gz gcc-eb1fcdaa11c571780374065c383708826624f22d.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 105d366..dddf990 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,9 @@ 2010-03-09 Jakub Jelinek <jakub@redhat.com> 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. (get_adjusted_src): New inline function. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 2595119..5aa9df4 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; |