"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,
===============================================================================
_/_/_/ _/_/_/ _/_/_/ Monty Swaiss : Email: [log in to unmask]
_/ _/ _/ _/ IPT Corporation : Ph: 415-494-7500 X 321
_/ _/_/_/ _/ 1076 East Meadow Circle : Fax: 415-494-2758
_/_/_/ _/ _/ Palo Alto, CA 94303-4230 : http://www.iptweb.com/tools
* * * * S O F T W A R E T O O L S SINCE 1 9 7 4 * * * *
Hosted on -- UNIX - OpenVMS - WINDOWS
FORTRAN90-lint - LINT-plus - SNIP - LOOK - XTC-1750
For: FORTRAN77/90 - C - C/C++ - C++ - C Toolset
EPC compilers -- "qef" Advanced Software Construction System
===============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|