Annotation of researchv10dc/man/manb/olint.1, revision 1.1.1.1

1.1       root        1: .TH LINT 1
                      2: .UC 4
                      3: .SH NAME
                      4: lint \- a C program verifier
                      5: .SH SYNOPSIS
                      6: .B lint
                      7: [
                      8: .B \-abchnpuvx
                      9: ]
                     10: file ...
                     11: .SH DESCRIPTION
                     12: .I Lint
                     13: attempts to detect features of the C program
                     14: .I files
                     15: which are
                     16: likely to be bugs, or non-portable, or wasteful.
                     17: It also checks the type usage of the program more strictly
                     18: than the compilers.
                     19: Among the things which are currently found are
                     20: unreachable statements,
                     21: loops not entered at the top,
                     22: automatic variables declared and not used,
                     23: and logical expressions whose value is constant.
                     24: Moreover, the usage of functions is checked to find
                     25: functions which return values in some places and not in others,
                     26: functions called with varying numbers of arguments,
                     27: and functions whose values are not used.
                     28: .PP
                     29: By default, it is assumed that all the
                     30: .I files
                     31: are to be loaded together; they are checked for
                     32: mutual compatibility.
                     33: Function definitions for certain libraries are available to
                     34: .IR lint ;
                     35: these libraries are referred to by a
                     36: conventional name,
                     37: such as `\-lm', in the style of
                     38: .IR ld (1).
                     39: .PP
                     40: Any number of the options in the following list
                     41: may be used.
                     42: The
                     43: .SM
                     44: .BR \-D "\*S,"
                     45: .SM
                     46: .BR \-U "\*S,"
                     47: and
                     48: .SM
                     49: .B \-I
                     50: options of
                     51: .IR cc (1)
                     52: are also recognized as separate arguments.
                     53: .TP
                     54: .B p
                     55: Attempt to check portability to the
                     56: .I IBM
                     57: and
                     58: .I GCOS
                     59: dialects of C.
                     60: .TP
                     61: .B h
                     62: Apply a number of heuristic tests to attempt to
                     63: intuit bugs, improve style, and reduce waste.
                     64: .TP
                     65: .B b
                     66: Report
                     67: .I break
                     68: statements that cannot be reached.
                     69: (This is not the default because, unfortunately,
                     70: most
                     71: .I lex
                     72: and many
                     73: .I yacc
                     74: outputs produce dozens of such comments.)
                     75: .TP
                     76: .B v
                     77: Suppress complaints about unused arguments in functions.
                     78: .TP
                     79: .B x
                     80: Report variables referred to by extern declarations,
                     81: but never used.
                     82: .TP
                     83: .B a
                     84: Report assignments of long values to int variables.
                     85: .TP
                     86: .B c
                     87: Complain about casts which have questionable portability.
                     88: .TP
                     89: .B u
                     90: Do not complain about functions and variables used and not
                     91: defined, or defined and not used (this is suitable for running
                     92: .I lint
                     93: on a subset of files out of a larger program).
                     94: .TP
                     95: .B n
                     96: Do not check compatibility against the standard library.
                     97: .PP
                     98: .IR Exit (2)
                     99: and other functions which do not return
                    100: are not understood; this causes various lies.
                    101: .PP
                    102: Certain conventional comments in the C source
                    103: will change the behavior of
                    104: .IR lint :
                    105: .TP
                    106: /*NOTREACHED*/
                    107: at appropriate points
                    108: stops comments about unreachable code.
                    109: .TP
                    110: .RI /*VARARGS n */
                    111: suppresses
                    112: the usual checking for variable numbers of arguments
                    113: in the following function declaration.
                    114: The data types of the first
                    115: .I n
                    116: arguments are checked;
                    117: a missing
                    118: .I n
                    119: is taken to be 0.
                    120: .TP
                    121: /*NOSTRICT*/
                    122: shuts off strict type checking in the next expression.
                    123: .TP
                    124: /*ARGSUSED*/
                    125: turns on the
                    126: .B \-v
                    127: option for the next function.
                    128: .TP
                    129: /*LINTLIBRARY*/
                    130: at the beginning of a file shuts off complaints about
                    131: unused functions in this file.
                    132: .SH FILES
                    133: .ta \w'/usr/lib/llib-port  'u
                    134: /usr/lib/lint/lint[12] programs
                    135: .br
                    136: /usr/lib/lint/llib-lc declarations for standard functions
                    137: .br
                    138: /usr/lib/lint/llib-port declarations for portable functions
                    139: .SH SEE ALSO
                    140: cc(1)
                    141: .br
                    142: S. C. Johnson,
                    143: .I Lint, a C Program Checker
                    144: .SH BUGS
                    145: There are some things you just
                    146: .B can't
                    147: get lint to shut up about.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.