aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-04-17 16:16:30 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2015-04-17 16:16:30 +0200
commitaeebf48a7083e5b64b4ddd9d9fe820dd686f419b (patch)
tree2536b0452393399785ea16b802dd3ecf74f0fdc1 /gcc
parentbbd08a5dfa54f0f694c7869662531498c3289164 (diff)
downloadgcc-aeebf48a7083e5b64b4ddd9d9fe820dd686f419b.zip
gcc-aeebf48a7083e5b64b4ddd9d9fe820dd686f419b.tar.gz
gcc-aeebf48a7083e5b64b4ddd9d9fe820dd686f419b.tar.bz2
re PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux-gnueabihf)
PR debug/65771 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to trying mem_loc_descriptor on XEXP (rtl, 0). From-SVN: r222181
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 75c3ef3..008e36a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
+ trying mem_loc_descriptor on XEXP (rtl, 0).
+
2015-04-17 Martin Liska <mliska@suse.cz>
* ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index b34a3ed..e570120 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12799,7 +12799,12 @@ mem_loc_descriptor (rtx rtl, machine_mode mode,
}
if (!const_ok_for_output (rtl))
- break;
+ {
+ if (GET_CODE (rtl) == CONST)
+ mem_loc_result = mem_loc_descriptor (XEXP (rtl, 0), mode, mem_mode,
+ initialized);
+ break;
+ }
symref:
mem_loc_result = new_addr_loc_descr (rtl, dtprel_false);