diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-03-13 21:22:15 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-03-13 21:22:15 +0100 |
commit | 43fb4c8056854b37dfcddf4b48886130628e8c0a (patch) | |
tree | 15794b51c1e97b962947c8b2ad4afe91498be6f6 /gcc | |
parent | ef7e79a3672d1b013646a1a6f8cd5931ef6bcd07 (diff) | |
download | gcc-43fb4c8056854b37dfcddf4b48886130628e8c0a.zip gcc-43fb4c8056854b37dfcddf4b48886130628e8c0a.tar.gz gcc-43fb4c8056854b37dfcddf4b48886130628e8c0a.tar.bz2 |
re PR debug/89498 (ICE in AT_loc_list, at dwarf2out.c:4871)
PR debug/89498
* dwarf2out.c (size_of_die): For dw_val_class_view_list always use
DWARF_OFFSET_SIZE.
(value_format): For dw_val_class_view_list never use DW_FORM_loclistx.
From-SVN: r269661
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cda44b8..7c5bda1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-03-13 Jakub Jelinek <jakub@redhat.com> + + PR debug/89498 + * dwarf2out.c (size_of_die): For dw_val_class_view_list always use + DWARF_OFFSET_SIZE. + (value_format): For dw_val_class_view_list never use DW_FORM_loclistx. + 2019-03-13 Martin Sebor <msebor@redhat.com> PR tree-optimization/89662 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 8305555..c9f1e31 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -9369,7 +9369,6 @@ size_of_die (dw_die_ref die) } break; case dw_val_class_loc_list: - case dw_val_class_view_list: if (dwarf_split_debug_info && dwarf_version >= 5) { gcc_assert (AT_loc_list (a)->num_assigned); @@ -9378,6 +9377,9 @@ size_of_die (dw_die_ref die) else size += DWARF_OFFSET_SIZE; break; + case dw_val_class_view_list: + size += DWARF_OFFSET_SIZE; + break; case dw_val_class_range_list: if (value_format (a) == DW_FORM_rnglistx) { @@ -9751,12 +9753,12 @@ value_format (dw_attr_node *a) gcc_unreachable (); } case dw_val_class_loc_list: - case dw_val_class_view_list: if (dwarf_split_debug_info && dwarf_version >= 5 && AT_loc_list (a)->num_assigned) return DW_FORM_loclistx; /* FALLTHRU */ + case dw_val_class_view_list: case dw_val_class_range_list: /* For range lists in DWARF 5, use DW_FORM_rnglistx from .debug_info.dwo but in .debug_info use DW_FORM_sec_offset, which is shorter if we |