## 9 Cross-Reference Output. ¶

GNU `cflow` is also able to produce cross-reference listings. This mode is enabled by `--xref` (`-x`) command line option. Cross-reference output lists each symbol occurrence on a separate line. Each line shows the identifier and the source location where it appears. If this location is where the symbol is defined, it is additionally marked with an asterisk and followed by the definition. For example, here is a fragment of a cross-reference output for `d.c` program:

    printdir * d.c:42 void printdir (int level,char *name)
    printdir   d.c:74
    printdir   d.c:102

It shows that the function `printdir` is defined in line 42 and referenced twice, in lines 74 and 102.

The symbols included in cross-reference listings are controlled by `--include` option (see --include). In addition to character classes discussed in chapter “Controlling Symbol Types” (see Controlling Symbol Types), an additional symbol class `t` controls listing of type names defined by `typedef` keyword.