Commit 43fb4c80 by Jakub Jelinek Committed by Jakub Jelinek

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
parent ef7e79a3
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> 2019-03-13 Martin Sebor <msebor@redhat.com>
PR tree-optimization/89662 PR tree-optimization/89662
......
...@@ -9369,7 +9369,6 @@ size_of_die (dw_die_ref die) ...@@ -9369,7 +9369,6 @@ size_of_die (dw_die_ref die)
} }
break; break;
case dw_val_class_loc_list: case dw_val_class_loc_list:
case dw_val_class_view_list:
if (dwarf_split_debug_info && dwarf_version >= 5) if (dwarf_split_debug_info && dwarf_version >= 5)
{ {
gcc_assert (AT_loc_list (a)->num_assigned); gcc_assert (AT_loc_list (a)->num_assigned);
...@@ -9378,6 +9377,9 @@ size_of_die (dw_die_ref die) ...@@ -9378,6 +9377,9 @@ size_of_die (dw_die_ref die)
else else
size += DWARF_OFFSET_SIZE; size += DWARF_OFFSET_SIZE;
break; break;
case dw_val_class_view_list:
size += DWARF_OFFSET_SIZE;
break;
case dw_val_class_range_list: case dw_val_class_range_list:
if (value_format (a) == DW_FORM_rnglistx) if (value_format (a) == DW_FORM_rnglistx)
{ {
...@@ -9751,12 +9753,12 @@ value_format (dw_attr_node *a) ...@@ -9751,12 +9753,12 @@ value_format (dw_attr_node *a)
gcc_unreachable (); gcc_unreachable ();
} }
case dw_val_class_loc_list: case dw_val_class_loc_list:
case dw_val_class_view_list:
if (dwarf_split_debug_info if (dwarf_split_debug_info
&& dwarf_version >= 5 && dwarf_version >= 5
&& AT_loc_list (a)->num_assigned) && AT_loc_list (a)->num_assigned)
return DW_FORM_loclistx; return DW_FORM_loclistx;
/* FALLTHRU */ /* FALLTHRU */
case dw_val_class_view_list:
case dw_val_class_range_list: case dw_val_class_range_list:
/* For range lists in DWARF 5, use DW_FORM_rnglistx from .debug_info.dwo /* 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 but in .debug_info use DW_FORM_sec_offset, which is shorter if we
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment