tree.c (need_assembler_name_p): Artificial types have no ODR names.
* tree.c (need_assembler_name_p): Artificial types have no ODR names. * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when no caching is done. * lto.c (lto_read_decls): Move code registering odr types out of TYPE_CANONICAL conditional and also register polymorphic types. From-SVN: r221797
This commit is contained in:
parent
12cc8c723e
commit
36ceb0e3cc
|
@ -1,3 +1,10 @@
|
|||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* tree.c (need_assembler_name_p): Artificial types have no ODR
|
||||
names.
|
||||
* ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
|
||||
no caching is done.
|
||||
|
||||
2015-03-31 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR ipa/65557
|
||||
|
|
|
@ -939,7 +939,8 @@ warn_odr (tree t1, tree t2, tree st1, tree st2,
|
|||
|
||||
/* ODR warnings are output druing LTO streaming; we must apply location
|
||||
cache for potential warnings to be output correctly. */
|
||||
lto_location_cache::current_cache->apply_location_cache ();
|
||||
if (lto_location_cache::current_cache)
|
||||
lto_location_cache::current_cache->apply_location_cache ();
|
||||
|
||||
if (!warning_at (DECL_SOURCE_LOCATION (TYPE_NAME (t1)), OPT_Wodr,
|
||||
"type %qT violates one definition rule",
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* lto.c (lto_read_decls): Move code registering odr types out
|
||||
of TYPE_CANONICAL conditional and also register polymorphic types.
|
||||
|
||||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
|
||||
|
|
|
@ -5139,6 +5139,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))
|
||||
&& !TYPE_ARTIFICIAL (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);
|
||||
|
|
Loading…
Reference in New Issue