Commit cc71a1fe by Richard Biener Committed by Richard Biener

re PR debug/86457 (ICE in add_dwarf_attr, at dwarf2out.c:4405 since r251448)

2018-07-11  Richard Biener  <rguenther@suse.de>

	PR debug/86457
	* dwarf2out.c (init_sections_and_labels): Use
	output_asm_line_debug_info consistently.
	(dwarf2out_early_finish): Likewise.
	(dwarf2out_finish): Remove DW_AT_stmt_list from early generated
	type units.

From-SVN: r262551
parent 286fa984
2018-07-10 Richard Biener <rguenther@suse.de> 2018-07-11 Richard Biener <rguenther@suse.de>
PR debug/86457
* dwarf2out.c (init_sections_and_labels): Use
output_asm_line_debug_info consistently.
(dwarf2out_early_finish): Likewise.
(dwarf2out_finish): Remove DW_AT_stmt_list from early generated
type units.
2018-07-11 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1):
Rework father_bb setting in a way to avoid propagating constants Rework father_bb setting in a way to avoid propagating constants
......
...@@ -28483,7 +28483,7 @@ init_sections_and_labels (bool early_lto_debug) ...@@ -28483,7 +28483,7 @@ init_sections_and_labels (bool early_lto_debug)
debug_str_section = get_section (DEBUG_LTO_STR_SECTION, debug_str_section = get_section (DEBUG_LTO_STR_SECTION,
DEBUG_STR_SECTION_FLAGS DEBUG_STR_SECTION_FLAGS
| SECTION_EXCLUDE, NULL); | SECTION_EXCLUDE, NULL);
if (!dwarf_split_debug_info && !dwarf2out_as_loc_support) if (!dwarf_split_debug_info && !output_asm_line_debug_info ())
debug_line_str_section debug_line_str_section
= get_section (DEBUG_LTO_LINE_STR_SECTION, = get_section (DEBUG_LTO_LINE_STR_SECTION,
DEBUG_STR_SECTION_FLAGS | SECTION_EXCLUDE, NULL); DEBUG_STR_SECTION_FLAGS | SECTION_EXCLUDE, NULL);
...@@ -31125,9 +31125,9 @@ dwarf2out_finish (const char *) ...@@ -31125,9 +31125,9 @@ dwarf2out_finish (const char *)
if (*slot != HTAB_EMPTY_ENTRY) if (*slot != HTAB_EMPTY_ENTRY)
continue; continue;
/* Add a pointer to the line table for the main compilation unit /* Remove the pointer to the line table. */
so that the debugger can make sense of DW_AT_decl_file remove_AT (ctnode->root_die, DW_AT_stmt_list);
attributes. */
if (debug_info_level >= DINFO_LEVEL_TERSE) if (debug_info_level >= DINFO_LEVEL_TERSE)
reset_dies (ctnode->root_die); reset_dies (ctnode->root_die);
...@@ -31819,7 +31819,7 @@ dwarf2out_early_finish (const char *filename) ...@@ -31819,7 +31819,7 @@ dwarf2out_early_finish (const char *filename)
/* When emitting DWARF5 .debug_line_str, move DW_AT_name and /* When emitting DWARF5 .debug_line_str, move DW_AT_name and
DW_AT_comp_dir into .debug_line_str section. */ DW_AT_comp_dir into .debug_line_str section. */
if (!dwarf2out_as_loc_support if (!output_asm_line_debug_info ()
&& dwarf_version >= 5 && dwarf_version >= 5
&& DWARF5_USE_DEBUG_LINE_STR) && DWARF5_USE_DEBUG_LINE_STR)
{ {
......
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