aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
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 /gcc/tree.c
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
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c9
1 files changed, 7 insertions, 2 deletions
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)