This is the mail archive of the
mailing list for the GCC project.
[PATCH] Fix PR91772
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 17 Sep 2019 15:51:36 +0200 (CEST)
- Subject: [PATCH] Fix PR91772
When early debug is missing at LTRANS time we create DIEs using
full-blown dwarf2out_decl. In that case it doesn't make sense
to try adding a location again, instead that might ICE as seen
in the PR.
Bootstrapped / tested on x86_64-unknown-linux-gnu, applied to trunk sofar.
2019-09-17 Richard Biener <email@example.com>
* dwarf2out.c (dwarf2out_late_global_decl): If early dwarf
was missing generate locations only once.
--- gcc/dwarf2out.c (revision 275800)
+++ gcc/dwarf2out.c (working copy)
@@ -26647,16 +26651,12 @@ dwarf2out_late_global_decl (tree decl)
dw_die_ref die = lookup_decl_die (decl);
- /* We may have to generate early debug late for LTO in case debug
+ /* We may have to generate full debug late for LTO in case debug
was not enabled at compile-time or the target doesn't support
the LTO early debug scheme. */
if (! die && in_lto_p)
- dwarf2out_decl (decl);
- die = lookup_decl_die (decl);
- if (die)
+ dwarf2out_decl (decl);
+ else if (die)
/* We get called via the symtab code invoking late_global_decl
for symbols that are optimized out.