From cc71a1fe3773425b4da8b767fae445cc56e169c2 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 11 Jul 2018 07:08:54 +0000 Subject: re PR debug/86457 (ICE in add_dwarf_attr, at dwarf2out.c:4405 since r251448) 2018-07-11 Richard Biener 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 --- gcc/dwarf2out.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 4640a22..1127713 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -28483,7 +28483,7 @@ init_sections_and_labels (bool early_lto_debug) debug_str_section = get_section (DEBUG_LTO_STR_SECTION, DEBUG_STR_SECTION_FLAGS | 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 = get_section (DEBUG_LTO_LINE_STR_SECTION, DEBUG_STR_SECTION_FLAGS | SECTION_EXCLUDE, NULL); @@ -31125,9 +31125,9 @@ dwarf2out_finish (const char *) if (*slot != HTAB_EMPTY_ENTRY) continue; - /* Add a pointer to the line table for the main compilation unit - so that the debugger can make sense of DW_AT_decl_file - attributes. */ + /* Remove the pointer to the line table. */ + remove_AT (ctnode->root_die, DW_AT_stmt_list); + if (debug_info_level >= DINFO_LEVEL_TERSE) reset_dies (ctnode->root_die); @@ -31819,7 +31819,7 @@ dwarf2out_early_finish (const char *filename) /* When emitting DWARF5 .debug_line_str, move DW_AT_name and DW_AT_comp_dir into .debug_line_str section. */ - if (!dwarf2out_as_loc_support + if (!output_asm_line_debug_info () && dwarf_version >= 5 && DWARF5_USE_DEBUG_LINE_STR) { -- cgit v1.1