Hi, Chaudron. Thanks for this great tool! There's only one thing I really miss which is handling multiple functions with the same name. As an example, let's imagine a toy-project containing four files: a.c, b.c, header.h and c.c:
a.c:
static void a(void)
{}
void a_wrapper(void)
{
a();
}
b.c:
header.h:
void a(void);
void a_wrapper(void);
c.c:
#include "header.h"
int main()
{
a();
a_wrapper();
return 0;
}
The result of cally's full graph for this project is:

But as we have two different and valid a() declarations in our project, we would expect something like this:

Cally does warn of multiple definitions, which is great. But it would be even better if it could disambiguate the different definitions as they are all valid C constructions.
I know this might be a limitation of the *.expand files format: function calls contain the callee address but function declarations don't show this information, so we cannot disambiguate. But I thought that perhaps raising this issue could hopefully bring up ideas on how this could be resolved (maybe even by using more than just the *.expand files). Any thoughts/ideas on this?
Hi, Chaudron. Thanks for this great tool! There's only one thing I really miss which is handling multiple functions with the same name. As an example, let's imagine a toy-project containing four files:
a.c,b.c,header.handc.c:a.c:
b.c:
header.h:
c.c:
The result of cally's full graph for this project is:

But as we have two different and valid

a()declarations in our project, we would expect something like this:Cally does warn of multiple definitions, which is great. But it would be even better if it could disambiguate the different definitions as they are all valid C constructions.
I know this might be a limitation of the
*.expandfiles format: function calls contain the callee address but function declarations don't show this information, so we cannot disambiguate. But I thought that perhaps raising this issue could hopefully bring up ideas on how this could be resolved (maybe even by using more than just the*.expandfiles). Any thoughts/ideas on this?