ford
ford copied to clipboard
Adding module to subroutine calls
In its call graphs, Doxygen generates a complete call graph showing all calls at all hierarchies. Subroutines and functions in other modules are shown in the form "temp_module :: temp_subroutine". In FORD the graphs only indicate the used module/submodule but not the subroutines or functions referenced. It would be a nice addition to include this information to the graph if possible. If this question has already been addressed or more clarification is needed, please let me know!
Please could you post an example image of what you mean? Maybe what it currently looks like, and a mockup of what you'd want it to look like (even just done in Paint)?
Sure I have taken produced call graphs from Ford and Doxygen respectively.

These graphs actually show two things I have questions about. First you will notice that pier206 is a subroutine of piercolgird_mod which is shown in the Doxygen graph as piercolgird_mod::pier206 but in the Ford graph there is no indication what module it is a part of. It would be nice to see the associated module in the call graph.
In addition, both pier216 and pier 206 call set_cL_piles but for some reason only 206 is displayed. These graphs were produced from the same commit id with only small changes to add in the needed files for Ford so I do not know why the nodes would be missing.
Lovely, thanks!
I think the first issue should be easy enough to fix. I'm not sure about the second one though. Would you be able to cut your code down to produce a minimal reproducer? Basically just the absolute smallest thing that shows the problem.
Do you still need more examples of this breakages or is this covered in ticket #366? If so, is there anything I can provide to assist in the completion of this ticket?
I think the example in #366 should be a sufficient test case.
Unfortunately I don't have a massive amount of resource to spend on ford, so it might be some time before I get to it, but pull requests are more than welcome :)
Using proc_internals: true fixed the missing graph branches. If you would like I can close out this request and add in a new one with the wishlist item for adding module names directly in the tag. Or we can leave this open, whichever is easier for your ticket tracking.
Added in #497