FC138001@ysub.ysu.edu (11/02/90)
I need access to software which will generate a cross listing of subroutine names (called and calling), and commons. I have two programs which have many subroutines, and such a cross listing is very valuable for debugging and development. My Fortran program runs under CMS and is compiled with VS2. I have such a cross listing which was generated at another site, but need to be able to do it myself. Can anyone point me to a utility which will do this? Thanks. --Phil
WBJ@SLACVM.SLAC.STANFORD.EDU (Bill Johnson) (11/03/90)
IBM offers a facility called ICA (InterCompilation Analysis) as a part of VS FORTRAN, Release 2 which does exactly this among other things. It allows you to generate and update a database for an entire application from which one can extract a global report about who-calls- what, what-calls-who, what routines reference which COMMONs, what inconsistencies there are in calling sequences (e.g., wrong number of arguments, wrong type, etc.), and even instances of potential disaster like passing a FORTRAN constant (e.g. the number 1) as an argument which is then changed by the subroutine which has been called. Although these global reports are a little noisy, they really do harvest the information the compiler "knows" about an application as a totality in a fairly useful way. It is especially useful for understanding large applications which have been written by somebody else.