diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-04-17 16:16:30 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-04-17 16:16:30 +0200 |
commit | aeebf48a7083e5b64b4ddd9d9fe820dd686f419b (patch) | |
tree | 2536b0452393399785ea16b802dd3ecf74f0fdc1 /gcc/dwarf2out.c | |
parent | bbd08a5dfa54f0f694c7869662531498c3289164 (diff) | |
download | gcc-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/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |