32v 1m lint

From Computer History Wiki
Revision as of 16:33, 26 October 2009 by Neozeed (talk | contribs) (New page: LINT(1) UNIX Programmer's Manual LINT(1) == NAME == lint - a C program verifier == SYNOPSIS == lint [ -abchnpuvx ] file ... == DESCRIPTION == _...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

LINT(1) UNIX Programmer's Manual LINT(1)


NAME

    lint - a C program verifier

SYNOPSIS

    lint [ -abchnpuvx ] file ...

DESCRIPTION

    _L_i_n_t attempts to detect features of the C program _f_i_l_e_s
    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 _f_i_l_e_s are to be
    loaded together; they are checked for mutual compatibility.
    Function definitions for certain libraries are available to
    _l_i_n_t; these libraries are referred to by a conventional
    name, such as `-lm', in the style of _l_d(1).
    Any number of the options in the following list may be used.
    The -D, -U, and -I options of _c_c(1) are also recognized as
    separate arguments.
    p    Attempt to check portability to the _I_B_M and _G_C_O_S
         dialects of C.
    h    Apply a number of heuristic tests to attempt to intuit
         bugs, improve style, and reduce waste.
    b    Report _b_r_e_a_k statements that cannot be reached.  (This
         is not the default because, unfortunately, most _l_e_x and
         many _y_a_c_c outputs produce dozens of such comments.)
    v    Suppress complaints about unused arguments in func-
         tions.
    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 portabil-
         ity.
    u    Do not complain about functions and variables used and
         not defined, or defined and not used (this is suitable
         for running _l_i_n_t on a subset of files out of a larger
         program).
    n    Do not check compatibility against the standard
         library.
    _E_x_i_t(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 _l_i_n_t:
    /*NOTREACHED*/
         at appropriate points stops comments about unreachable
         code.
    /*VARARGS_n*/
         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.

FILES

    /usr/lib/lint[12] programs
    /usr/lib/llib-lc declarations for standard functions
    /usr/lib/llib-port declarations for portable functions

SEE ALSO

    cc(1)
    S. C. Johnson, _L_i_n_t, _a _C _P_r_o_g_r_a_m _C_h_e_c_k_e_r