Navigation: Previous   Up   Next

2.20 Producing a Call Graph

The call graph generator takes a set of Fortran source files and produces a call graph with optional index and called-by tables. C files and fpp-processed files are not handled.

The call graph generator understands the following compiler options with the same meaning: -132, -dcfuns, -double, -dryrun, -dusty, -encoding, -english, -f2003, -f2008, -f95, -fixed, -free, -help, -I, -i8, -indirect, -info, -kind, -max_parameter_size, -maxcontin, -mismatch, -mismatch_all, -nihongo, -nocheck_modtime, -nomod, -noqueue, -o, -openmp, -Qpath, -r8, -strict95, -thread_safe, -u, -u=sharing, -v, -V, -w and -xlicinfo.

The “@filename” syntax may also be used, with the same effect as the “-indirect filename” option.

The call graph is written to the file specified by the -o option, or to standard output if no -o option is specified.

The following additional options control the output produced.

Produce a “called-by” table showing, for each routine, the routines that call it directly or indirectly. This is produced at the end of the output.
Indent by N for each level in the graph, up to the maximum. The default is -indent=4.
The maximum indentation is N. The default is -indent_max=70.
Produce an alphabetic index listing, for each routine, the line of the call graph where the routine first appears. This follows the call graph itself and precedes the called-by table (when the -calledby option is used).
Show ENTRY point names in the call graph; without this option, calls to an ENTRY point are shown as calls to the containing subprogram.
If a call is via a generic identifier, show the generic identifier in the call graph.
Show the host scope names for calls to internal and module procedures.
Show the class of each procedure (e.g. ‘module’, ‘internal’, ...).
If a called procedure was renamed on a USE statement, show the renaming.