aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-02-10 11:46:43 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-02-10 10:46:43 +0000
commit4c0d3f7728752d436ca4c7b4d0ae6039c5cc7757 (patch)
treeceb3e0db5fac2156ff4ad5612e196490a585fe2f
parentc5ca5ad070e543a2ed62c73f9e19aa27e5992bd4 (diff)
downloadgcc-4c0d3f7728752d436ca4c7b4d0ae6039c5cc7757.zip
gcc-4c0d3f7728752d436ca4c7b4d0ae6039c5cc7757.tar.gz
gcc-4c0d3f7728752d436ca4c7b4d0ae6039c5cc7757.tar.bz2
re PR lto/89272 (r268728 caused FAIL: g++.dg/lto/pr65316 cp_lto_pr65316_0.o assemble)
PR lto/89272 * tree.c (fld_simplified_type_name): Also keep TYPE_DECL for polymorphic types. From-SVN: r268742
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7b8c81e..1ddc32a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-02-09 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/89272
+ * tree.c (fld_simplified_type_name): Also keep TYPE_DECL for
+ polymorphic types.
+
2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
* config/nds32/nds32.md (trap): New pattern.
diff --git a/gcc/tree.c b/gcc/tree.c
index 3e51a85..b8be295 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5153,7 +5153,10 @@ fld_simplified_type_name (tree type)
TYPE_DECL if the type doesn't have linkage.
this must match fld_ */
if (type != TYPE_MAIN_VARIANT (type)
- || !DECL_ASSEMBLER_NAME_SET_P (TYPE_NAME (type)))
+ || (!DECL_ASSEMBLER_NAME_SET_P (TYPE_NAME (type))
+ && (TREE_CODE (type) != RECORD_TYPE
+ || !TYPE_BINFO (type)
+ || !BINFO_VTABLE (TYPE_BINFO (type)))))
return DECL_NAME (TYPE_NAME (type));
return TYPE_NAME (type);
}