This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] gen_subprogram_die followup.
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 28 Jun 2018 12:17:58 +0200 (CEST)
- Subject: [PATCH] gen_subprogram_die followup.
This does the is_cu_die->is_unit_die change and also removes the
stale comment I forgot to delete when moving the guarded condition.
Bootstrapped & tested on x86_64-unknown-linux-gnu, applied.
Richard.
2018-06-28 Richard Biener <rguenther@suse.de>
* dwarf2out.c (gen_subprogram_die): Use is_unit_die when
deciding whether to not re-use a DIE.
Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c (revision 262215)
+++ gcc/dwarf2out.c (working copy)
@@ -22780,7 +22780,7 @@ gen_subprogram_die (tree decl, dw_die_re
apply; we just use the old DIE. */
expanded_location s = expand_location (DECL_SOURCE_LOCATION (decl));
struct dwarf_file_data * file_index = lookup_filename (s.file);
- if (((is_cu_die (old_die->die_parent)
+ if (((is_unit_die (old_die->die_parent)
/* This condition fixes the inconsistency/ICE with the
following Fortran test (or some derivative thereof) while
building libgfortran:
@@ -22796,9 +22796,6 @@ gen_subprogram_die (tree decl, dw_die_re
&& old_die->die_parent->die_tag == DW_TAG_module)
|| context_die == NULL)
&& (DECL_ARTIFICIAL (decl)
- /* The location attributes may be in the abstract origin
- which in the case of LTO might be not available to
- look at. */
|| (get_AT_file (old_die, DW_AT_decl_file) == file_index
&& (get_AT_unsigned (old_die, DW_AT_decl_line)
== (unsigned) s.line)