aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2016-03-10 17:02:00 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2016-03-10 16:02:00 +0000
commit015f20e49a9ec16622d2b4cff27237856458f532 (patch)
tree1d1e94de6354962ca6a93df224428f35672794e9 /gcc
parentd49b0aa091b9fc87a044941ac93155006ed3fd1e (diff)
downloadgcc-015f20e49a9ec16622d2b4cff27237856458f532.zip
gcc-015f20e49a9ec16622d2b4cff27237856458f532.tar.gz
gcc-015f20e49a9ec16622d2b4cff27237856458f532.tar.bz2
re PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)
PR lto/69589 * tree.c (need_assembler_name_p): Only record main variant type names. From-SVN: r234112
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb91e97..ab621ae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/69589
+ * tree.c (need_assembler_name_p): Only record main variant type names.
+
2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
PR target/70113.
diff --git a/gcc/tree.c b/gcc/tree.c
index 7d0cb03..c1cfcd4 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5329,6 +5329,7 @@ need_assembler_name_p (tree decl)
&& TREE_CODE (decl) == TYPE_DECL
&& DECL_NAME (decl)
&& decl == TYPE_NAME (TREE_TYPE (decl))
+ && TYPE_MAIN_VARIANT (TREE_TYPE (decl)) == TREE_TYPE (decl)
&& !TYPE_ARTIFICIAL (TREE_TYPE (decl))
&& (type_with_linkage_p (TREE_TYPE (decl))
|| TREE_CODE (TREE_TYPE (decl)) == INTEGER_TYPE)