LINT(1)                                                                LINT(1)


NAME
       lint - a C program verifier

SYNOPSIS
       lint [ -abchnpuvx ] file ...

DESCRIPTION
       Lint  attempts  to  detect  features  of  the C program files which are
       likely to be bugs, or non-portable, or wasteful.  It  also  checks  the
       type  usage of the program more strictly than the compilers.  Among the
       things which are currently found are unreachable statements, loops  not
       entered at the top, automatic variables declared and not used, and log‐
       ical expressions whose value is constant.  Moreover, the usage of func‐
       tions  is  checked to find functions which return values in some places
       and not in others, functions called with varying numbers of  arguments,
       and functions whose values are not used.

       By default, it is assumed that all the files are to be loaded together;
       they are checked for mutual compatibility.   Function  definitions  for
       certain  libraries  are available to lint; these libraries are referred
       to by a conventional name, such as ‘-lm’, in the style of ld(1).  Argu‐
       ments  ending in .ln are also treated as library files.  To create lint
       libraries, use the -C option:

              lint -Cfoo files . . .

       where files are the C sources of library foo.  The  result  is  a  file
       llib-lfoo.ln  in  the  correct library format suitable for linting pro‐
       grams using foo.

       Any number of the options in the following list may be used.   The  -D,
       -U,  and -I options of cc(1) are also recognized as separate arguments.

       p      Attempt to check portability to the IBM and GCOS dialects of  C.

       h      Apply  a  number  of  heuristic tests to attempt to intuit bugs,
              improve style, and reduce waste.

       b      Report break statements that cannot be reached.   (This  is  not
              the  default because, unfortunately, most lex and many yacc out‐
              puts produce dozens of such comments.)

       v      Suppress complaints about unused arguments in functions.

       x      Report variables referred to by extern declarations,  but  never
              used.

       a      Report assignments of long values to int variables.

       c      Complain about casts which have questionable portability.

       u      Do  not  complain  about  functions  and  variables used and not
              defined, or defined and not used (this is suitable  for  running
              lint on a subset of files out of a larger program).

       n      Do not check compatibility against the standard library.

       z      Do  not  complain  about structures that are never defined (e.g.
              using a structure pointer without knowing its contents.).

       Exit(2) and other functions which do not  return  are  not  understood;
       this causes various lies.

       Certain  conventional comments in the C source will change the behavior
       of lint:

       /*NOTREACHED*/
              at appropriate points stops comments about unreachable code.

       /*VARARGSn*/
              suppresses the usual checking for variable numbers of  arguments
              in  the  following  function declaration.  The data types of the
              first n arguments are checked; a missing n is taken to be 0.

       /*NOSTRICT*/
              shuts off strict type checking in the next expression.

       /*ARGSUSED*/
              turns on the -v option for the next function.

       /*LINTLIBRARY*/
              at the beginning of a file shuts  off  complaints  about  unused
              functions in this file.

AUTHOR
       S.C. Johnson.  Lint library construction implemented by Edward Wang.

FILES
       /usr/lib/lint/lint[12]      programs
       /usr/lib/lint/llib-lc.ln    declarations for standard functions
       /usr/lib/lint/llib-lc       human readable version of above
       /usr/lib/lint/llib-port.ln  declarations for portable functions
       /usr/lib/lint/llib-port     human readable . . .
       llib-l*.ln                  library created with -C

SEE ALSO
       cc(1)
       S. C. Johnson, Lint, a C Program Checker

BUGS
       There are some things you just can’’t get lint to shut up about.

       /*NOSTRICT*/ is not implemented in the current version (alas).


4th Berkeley Distribution       March 17, 1986                         LINT(1)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 649
Valid CSS Valid XHTML 1.0 Strict