* Fix g++.dg/lto/20090311 and g++.dg/lto/20091210-1 on some setups
@ 2013-09-05 23:25 Jan Hubicka
0 siblings, 0 replies; only message in thread
From: Jan Hubicka @ 2013-09-05 23:25 UTC (permalink / raw)
To: gcc-patches
Hi,
ipa-devirt uses mangled names to establish equivalence in between symbols.
I added assert for cloned names, since I convinced myself that otherwise
we can miss matches in between local static symbols. I also convinced
myself we should never rename.
I was wrong on both: declaration merging makes renaming safe and we rename
on non-plugin-enabled systems. I am thus dropping this check.
Comitted as obvious.
* tree.c (types_same_for_odr): Drop overactive check.
* ipa-devirt.c (hash_type_name): Likewise.
Index: tree.c
===================================================================
--- tree.c (revision 202271)
+++ tree.c (working copy)
@@ -11883,13 +11883,6 @@ types_same_for_odr (tree type1, tree typ
}
v1 = DECL_ASSEMBLER_NAME (v1);
v2 = DECL_ASSEMBLER_NAME (v2);
- /* If we ever start adding random .blah suffixes after
- assembler names, we need to compare for match ignoring
- these (and update odr_type_hash, too). */
-#ifdef ENABLE_CHECKING
- gcc_assert (!strchr (IDENTIFIER_POINTER (v1), '.')
- && !strchr (IDENTIFIER_POINTER (v2), '.'));
-#endif
return (v1 == v2);
}
Index: ipa-devirt.c
===================================================================
--- ipa-devirt.c (revision 202271)
+++ ipa-devirt.c (working copy)
@@ -204,9 +204,6 @@ hash_type_name (tree t)
}
v = DECL_ASSEMBLER_NAME (v);
-#ifdef ENABLE_CHECKING
- gcc_assert (!strchr (IDENTIFIER_POINTER (v), '.'));
-#endif
hash = iterative_hash_hashval_t (hash, htab_hash_pointer (v));
return hash;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-09-05 23:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-05 23:25 Fix g++.dg/lto/20090311 and g++.dg/lto/20091210-1 on some setups Jan Hubicka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).