[comp.lang.fortran] Cross List Software?

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.