Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lint(1) — UTek 4.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)



LINT(1)                 COMMAND REFERENCE                 LINT(1)



NAME
     lint - a C program verifier

SYNOPSIS
     lint [ -abchnpuvxz ] 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 logical
     expressions whose value is constant.  Moreover, the usage of
     functions 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).  Arguments
     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 programs using foo.

     exit(3c) 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.




Printed 4/6/89                                                  1





LINT(1)                 COMMAND REFERENCE                 LINT(1)



     /*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.

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

     -a Report assignments of long values to int variables.

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

     -c Complain about casts which have questionable portability.

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

     -n Do not check compatibility against the standard library.

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

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

     -v Suppress complaints about unused arguments in functions.

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

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

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




Printed 4/6/89                                                  2





LINT(1)                 COMMAND REFERENCE                 LINT(1)



     /usr/lib/lint/llib-port.ln
                      Declarations for portable functions

     /usr/lib/lint/llib-port
                      Human readable portable functions

     llib-l*.ln       Library created with -C option

CAVEATS
     There are some things you just can't get lint to shut up
     about.

SEE ALSO
     cc(1).









































Printed 4/6/89                                                  3





































































%%index%%
na:240,79;
sy:319,275;
de:594,2233;3139,216;
op:3355,1655;
fi:5010,387;5709,343;
ca:6052,243;
se:6295,135;
%%index%%000000000140

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026