diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22b068d1cc5..e7aa396a6ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-09-19 Jan Hubicka + + PR lto/63286 + * tree.c (need_assembler_name_p): Do not mangle variadic types. + 2014-09-19 Segher Boessenkool * recog.c (scratch_operand): Do not simply allow all hard registers: diff --git a/gcc/tree.c b/gcc/tree.c index 440e2639d32..83df030b8ad 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -5003,6 +5003,7 @@ need_assembler_name_p (tree decl) && decl == TYPE_NAME (TREE_TYPE (decl)) && !is_lang_specific (TREE_TYPE (decl)) && AGGREGATE_TYPE_P (TREE_TYPE (decl)) + && !variably_modified_type_p (TREE_TYPE (decl), NULL_TREE) && !type_in_anonymous_namespace_p (TREE_TYPE (decl))) return !DECL_ASSEMBLER_NAME_SET_P (decl); /* Only FUNCTION_DECLs and VAR_DECLs are considered. */