2.21 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.

-calledby
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=N
Indent by N for each level in the graph, up to the maximum. The default is -indent=4.
-indent_max=N
The maximum indentation is N. The default is -indent_max=70.
-index
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
Show ENTRY point names in the call graph; without this option, calls to an ENTRY point are shown as calls to the containing subprogram.
-show_generic
If a call is via a generic identifier, show the generic identifier in the call graph.
-show_host
Show the host scope names for calls to internal and module procedures.
-show_pclass
Show the class of each procedure (e.g. ‘module’, ‘internal’, ...).
-show_rename
If a called procedure was renamed on a USE statement, show the renaming.