diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab621ae922f..df399095f08 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-03-10 Jan Hubicka + + PR lto/69589 + * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. + 2016-03-10 Jan Hubicka PR lto/69589 diff --git a/gcc/tree.c b/gcc/tree.c index c1cfcd4ecc9..ed28429b1e1 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)