Backport from mainline
2018-11-02 Richard Biener <rguenther@suse.de>
* dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call
with is_type_die.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@267166 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6674b49..4ad2576 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2018-12-15 Jan Hubicka <jh@suse.cz>
+
+ Backport from mainline
+ 2018-11-02 Richard Biener <rguenther@suse.de>
+
+ * dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call
+ with is_type_die.
+
2018-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Backport from mainline
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 980fb26..1381523 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -9020,8 +9020,9 @@
struct external_ref *ref_p;
gcc_assert (AT_ref (a)->comdat_type_p || AT_ref (a)->die_id.die_symbol);
- ref_p = lookup_external_ref (extern_map, c);
- if (ref_p->stub && ref_p->stub != die)
+ if (is_type_die (c)
+ && (ref_p = lookup_external_ref (extern_map, c))
+ && ref_p->stub && ref_p->stub != die)
change_AT_die_ref (a, ref_p->stub);
else
/* We aren't changing this reference, so mark it external. */