Hi, When using lto-dump -callgraph with two or more .o files containing distinct functions with the same name, dump_graphviz incorrectly merged those functions into a single node. This patch fixes this issue by calling `dump_name` instead of `name`, therefore concat'ing the function name with the node's id.
To understeand what was the issue, let's say you have two files: a.c: static void foo (void) { do_something (); } b.c: static void foo (void) { do_something_else (); } There are distinct functions and should be represented as distinct nodes in the callgraph dump. Is it ok for me to commit it in trunk as trivial? And is there something special that I should know before doing a commit into trunk? gcc/ChangeLog: 2019-07-22 Giuliano Belinassi <giuliano.belina...@usp.br> * cgraph.c (dump_graphviz): Change name to dump_name Giuliano.
diff --git gcc/cgraph.c gcc/cgraph.c index 8b752d83809..671306db5ca 100644 --- gcc/cgraph.c +++ gcc/cgraph.c @@ -2155,7 +2155,7 @@ cgraph_node::dump_graphviz (FILE *f) { cgraph_node *callee = edge->callee; - fprintf (f, "\t\"%s\" -> \"%s\"\n", name (), callee->name ()); + fprintf (f, "\t\"%s\" -> \"%s\"\n", dump_name (), callee->dump_name ()); } }