diff options
author | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2019-10-22 19:05:49 +0000 |
---|---|---|
committer | Giuliano Belinassi <giulianob@gcc.gnu.org> | 2019-10-22 19:05:49 +0000 |
commit | 51940760d7158aeb8d6747c9ee0b784d6869c7ef (patch) | |
tree | 993abc2f50f8beb33742c5dff8d85c752ee51746 /gcc/cgraph.c | |
parent | ebb3afe2b98a9a4b1c8cc5fd2745a1037c06d827 (diff) | |
download | gcc-51940760d7158aeb8d6747c9ee0b784d6869c7ef.zip gcc-51940760d7158aeb8d6747c9ee0b784d6869c7ef.tar.gz gcc-51940760d7158aeb8d6747c9ee0b784d6869c7ef.tar.bz2 |
Fix incorrect merge of conflictant names in `dump_graphviz`
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 (); }
These are distinct functions and should be represented as distinct nodes in the
callgraph dump.
2019-10-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
* cgraph.c (dump_graphviz): Change name to dump_name
From-SVN: r277299
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 8b752d8..671306d 100644 --- a/gcc/cgraph.c +++ b/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 ()); } } |