aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2016-03-29 21:37:55 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2016-03-29 19:37:55 +0000
commitf8a1abf8e3dc2ef5cb47a13f14e6a7ec8113a46f (patch)
tree0db1268677c278b70680ea23df35ab40f292d64f /gcc/symtab.c
parenta362f023e538bc30dd9f2107f71c2435f62b9289 (diff)
downloadgcc-f8a1abf8e3dc2ef5cb47a13f14e6a7ec8113a46f.zip
gcc-f8a1abf8e3dc2ef5cb47a13f14e6a7ec8113a46f.tar.gz
gcc-f8a1abf8e3dc2ef5cb47a13f14e6a7ec8113a46f.tar.bz2
re PR lto/70283 (bogus vtable mismatch warnings)
PR ipa/70283 * ipa-devirt.c (methods_equal_p): New function. (compare_virtual_tables): Use it. * cgraph.h (symbol_table::symbol_suffix_separator): Declare. * cgraphclones.c (clone_function_name_1): Use symbol_table::symbol_suffix_separator. * coverage.c (build_var): Likewise. * symtab.c (symbol_table::symbol_suffix_separator): New. From-SVN: r234532
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 523c95d..2d7705e 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -2137,3 +2137,17 @@ symtab_node::definition_alignment ()
call_for_symbol_and_aliases (get_alignment_1, &align, true);
return align;
}
+
+/* Return symbol used to separate symbol name from suffix. */
+
+char
+symbol_table::symbol_suffix_separator ()
+{
+#ifndef NO_DOT_IN_LABEL
+ return '.';
+#elif !defined NO_DOLLAR_IN_LABEL
+ return '$';
+#else
+ return '_';
+#endif
+}