diff options
Diffstat (limited to 'man1p/cflow.1p')
-rw-r--r-- | man1p/cflow.1p | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/man1p/cflow.1p b/man1p/cflow.1p new file mode 100644 index 000000000..2e64995ff --- /dev/null +++ b/man1p/cflow.1p @@ -0,0 +1,250 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "CFLOW" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" cflow +.SH NAME +cflow \- generate a C-language flowgraph (\fBDEVELOPMENT\fP) +.SH SYNOPSIS +.LP +\fBcflow\fP \fB[\fP\fB-r\fP\fB][\fP\fB-d\fP \fInum\fP\fB][\fP\fB-D\fP +\fIname\fP\fB[\fP\fB=\fP\fIdef\fP\fB]]\fP \fB...\fP \fB[\fP\fB-i\fP +\fIincl\fP\fB][\fP\fB-I\fP +\fIdir\fP\fB]\fP \fB... +.br +\ \ \ \ \ \ \fP \fB[\fP\fB-U\fP \fIdir\fP\fB]\fP \fB...\fP \fIfile\fP +\fB\&... \fP +.SH DESCRIPTION +.LP +The \fIcflow\fP utility shall analyze a collection of object files +or assembler, C-language, \fIlex\fP, or \fIyacc\fP source files, and +attempt to build a +graph, written to standard output, charting the external references. +.SH OPTIONS +.LP +The \fIcflow\fP utility shall conform to the Base Definitions volume +of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines, +except that the order of the \fB-D\fP, +\fB-I\fP, and \fB-U\fP options (which are identical to their interpretation +by \fIc99\fP) is +significant. +.LP +The following options shall be supported: +.TP 7 +\fB-d\ \fP \fInum\fP +Indicate the depth at which the flowgraph is cut off. The application +shall ensure that the argument \fInum\fP is a decimal +integer. By default this is a very large number (typically greater +than 32000). Attempts to set the cut-off depth to a non-positive +integer shall be ignored. +.TP 7 +\fB-i\ \fP \fIincl\fP +Increase the number of included symbols. The \fIincl\fP option-argument +is one of the following characters: +.TP 7 +\fIx\fP +.RS +Include external and static data symbols. The default shall be to +include only functions in the flowgraph. +.RE +.TP 7 +\fB_\fP +.RS +(Underscore) Include names that begin with an underscore. The default +shall be to exclude these functions (and data if +\fB-i\ x\fP is used). +.RE +.sp +.TP 7 +\fB-r\fP +Reverse the caller:callee relationship, producing an inverted listing +showing the callers of each function. The listing shall +also be sorted in lexicographical order by callee. +.sp +.SH OPERANDS +.LP +The following operand is supported: +.TP 7 +\fIfile\fP +The pathname of a file for which a graph is to be generated. Filenames +suffixed by \fB.l\fP shall shall be taken to be \fIlex\fP input, \fB.y\fP +as \fIyacc\fP input, \fB.c\fP +as \fIc99\fP input, and \fB.i\fP as the output of \fIc99\fP \fB-E\fP. +Such files shall be processed as appropriate, determined by their +suffix. +.LP +Files suffixed by \fB.s\fP (conventionally assembler source) may have +more limited information extracted from them. +.sp +.SH STDIN +.LP +Not used. +.SH INPUT FILES +.LP +The input files shall be object files or assembler, C-language, \fIlex\fP, +or \fIyacc\fP source files. +.SH ENVIRONMENT VARIABLES +.LP +The following environment variables shall affect the execution of +\fIcflow\fP: +.TP 7 +\fILANG\fP +Provide a default value for the internationalization variables that +are unset or null. (See the Base Definitions volume of +IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables +for +the precedence of internationalization variables used to determine +the values of locale categories.) +.TP 7 +\fILC_ALL\fP +If set to a non-empty string value, override the values of all the +other internationalization variables. +.TP 7 +\fILC_COLLATE\fP +.sp +Determine the locale for the ordering of the output when the \fB-r\fP +option is used. +.TP 7 +\fILC_CTYPE\fP +Determine the locale for the interpretation of sequences of bytes +of text data as characters (for example, single-byte as +opposed to multi-byte characters in arguments and input files). +.TP 7 +\fILC_MESSAGES\fP +Determine the locale that should be used to affect the format and +contents of diagnostic messages written to standard +error. +.TP 7 +\fINLSPATH\fP +Determine the location of message catalogs for the processing of \fILC_MESSAGES +\&.\fP +.sp +.SH ASYNCHRONOUS EVENTS +.LP +Default. +.SH STDOUT +.LP +The flowgraph written to standard output shall be formatted as follows: +.sp +.RS +.nf + +\fB"%d %s:%s\\n", <\fP\fIreference number\fP\fB>, <\fP\fIglobal\fP\fB>, <\fP\fIdefinition\fP\fB> +\fP +.fi +.RE +.LP +Each line of output begins with a reference (that is, line) number, +followed by indentation of at least one column position per +level. This is followed by the name of the global, a colon, and its +definition. Normally globals are only functions not defined as +an external or beginning with an underscore; see the OPTIONS section +for the \fB-i\fP inclusion option. For information extracted +from C-language source, the definition consists of an abstract type +declaration (for example, \fBchar *\fP) and, delimited by +angle brackets, the name of the source file and the line number where +the definition was found. Definitions extracted from object +files indicate the filename and location counter under which the symbol +appeared (for example, \fItext\fP). +.LP +Once a definition of a name has been written, subsequent references +to that name contain only the reference number of the line +where the definition can be found. For undefined references, only +\fB"<>"\fP shall be written. +.SH STDERR +.LP +The standard error shall be used only for diagnostic messages. +.SH OUTPUT FILES +.LP +None. +.SH EXTENDED DESCRIPTION +.LP +None. +.SH EXIT STATUS +.LP +The following exit values shall be returned: +.TP 7 +\ 0 +Successful completion. +.TP 7 +>0 +An error occurred. +.sp +.SH CONSEQUENCES OF ERRORS +.LP +Default. +.LP +\fIThe following sections are informative.\fP +.SH APPLICATION USAGE +.LP +Files produced by \fIlex\fP and \fIyacc\fP cause the +reordering of line number declarations, and this can confuse \fIcflow\fP. +To obtain proper results, the input of \fIyacc\fP or \fIlex\fP must +be directed to \fIcflow\fP. +.SH EXAMPLES +.LP +Given the following in \fBfile.c\fP: +.sp +.RS +.nf + +\fBint i; +int f(); +int g(); +int h(); +int +main() +{ + f(); + g(); + f(); +} +int +f() +{ + i = h(); +} +\fP +.fi +.RE +.LP +The command: +.sp +.RS +.nf + +\fBcflow -i x file.c +\fP +.fi +.RE +.LP +produces the output: +.sp +.RS +.nf + +\fB1 main: int(), <file.c 6> +2 f: int(), <file.c 13> +3 h: <> +4 i: int, <file.c 1> +5 g: <> +\fP +.fi +.RE +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIc99\fP , \fIlex\fP , \fIyacc\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |