aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2016-03-10 17:02:55 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2016-03-10 16:02:55 +0000
commit2b9c477e7cdc9d30c590215a936e4e2d9518021d (patch)
tree347625f11f98249e44da051781e832b372d3a7fd
parent015f20e49a9ec16622d2b4cff27237856458f532 (diff)
downloadgcc-2b9c477e7cdc9d30c590215a936e4e2d9518021d.zip
gcc-2b9c477e7cdc9d30c590215a936e4e2d9518021d.tar.gz
gcc-2b9c477e7cdc9d30c590215a936e4e2d9518021d.tar.bz2
re PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)
PR lto/69589 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. From-SVN: r234113
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab621ae..df39909 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,11 @@
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
PR lto/69589
+ * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
+
+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>
diff --git a/gcc/tree.c b/gcc/tree.c
index c1cfcd4..ed28429 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5473,8 +5473,13 @@ free_lang_data_in_decl (tree decl)
|| (decl_function_context (decl) && !TREE_STATIC (decl)))
DECL_INITIAL (decl) = NULL_TREE;
}
- else if (TREE_CODE (decl) == TYPE_DECL
- || TREE_CODE (decl) == FIELD_DECL)
+ else if (TREE_CODE (decl) == TYPE_DECL)
+ {
+ DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
+ DECL_VISIBILITY_SPECIFIED (decl) = 0;
+ DECL_INITIAL (decl) = NULL_TREE;
+ }
+ else if (TREE_CODE (decl) == FIELD_DECL)
DECL_INITIAL (decl) = NULL_TREE;
else if (TREE_CODE (decl) == TRANSLATION_UNIT_DECL
&& DECL_INITIAL (decl)