Print

Print


"David B. Serafini" <[log in to unmask]> wrote:o
| 
| The missing tool I ran into today was something to generate a 
| listing of what routines are called by every routine in a program
| (known as a "who calls" list, among other names).
| 
| As is typical in Fortran tools these days, this used to be quite easy
| to do years ago but seems impossible now.  
| 
| Does such a tool exist for F90 for any of IBM, Sun, Cray, NAG, SGI, or HP
| compilers?  Does said tool handle disambiguating generics?  Does it handle
| modules?  Does it handle the => renaming capability of USE?  Does it handle
| library archives?  Can it tell which of multiple definitions of a routine in
| different object files/libraries will be included by the linker?
| 
| Anyone who says that Fortran90 development tools are readily available (and the
| ones that aren't require only a simple perl script to build) are either
| woefully lacking in undersstanding of the complexities of real Fortran90 usage.
| 
| If I get any helpful responses, I'll be both surprised and eternally grateful.
| 
| 
| -David
| 

FORTRAN90-lint is a static source analysis tool designed to process 
entire applications as a unit. It provides both systax and sematic 
checking on variable usage, common block inconsistencies, subroutine 
and function argument, module interface, wasteful and non-portable 
code, unused variables or routines, and much more.

As part of the analysis, FORTRAN90-lint generates comprehensive call
trees and detailed cross reference tables. The call tree shows calls/
called by relationships in a tree diagram. The cross reference table 
also shows every routines in the application and provides a quick
glimpse of who it calls and who it is called by.

FORTRAN90-lint runs on all the aforementioned platforms and supports 
the local compiler extensions for most compiler vendors; DEC Fortran 
(both UNIX, OpenVMS and soon WindowsNT), Cray CF90, SGI, SUN, EPC, 
and IBM. 

Reader beware, shameless plug ahead:  :)

In a recent test I performed with FORTRAN90-lint, I processed an 
application that is 199 MB in Fortran source. FORTRAN90-lint ran
through the entire source in about five minutes on a new DEC ALPHA
workstation - without crashing I might add.  


Richard Shapiro <[log in to unmask]> replied:

| 
| I think fortran90-lint might do this. We (SGI) are also working on a tool
| for this, and I think ftnlint (or cflint on the PVP platforms) may also
| have alot of this functionality. fortran90-lint is available from IPT
| corporation (www.iptweb.com), and their tool at least makes a good demo.
| 
 
We offer a fully functional product for a time limited evaluation period 
to those who are interested.

Regards,