aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-07-11 07:08:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-07-11 07:08:54 +0000
commitcc71a1fe3773425b4da8b767fae445cc56e169c2 (patch)
treed8daeef2d18f86699508aaaa757cc48ed862425e /gcc
parent286fa9840d9358f8d001b7b47b29f6499e9446f5 (diff)
downloadgcc-cc71a1fe3773425b4da8b767fae445cc56e169c2.zip
gcc-cc71a1fe3773425b4da8b767fae445cc56e169c2.tar.gz
gcc-cc71a1fe3773425b4da8b767fae445cc56e169c2.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/dwarf2out.c10
2 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8250b44..6516839 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,13 @@
-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):
Rework father_bb setting in a way to avoid propagating constants
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)
{