aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-03-13 21:22:15 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-03-13 21:22:15 +0100
commit43fb4c8056854b37dfcddf4b48886130628e8c0a (patch)
tree15794b51c1e97b962947c8b2ad4afe91498be6f6 /gcc
parentef7e79a3672d1b013646a1a6f8cd5931ef6bcd07 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/dwarf2out.c6
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