👤


BSD 2.11 - man page for lint (bsd section 1)

Linux & Unix Commands - Search Man Pages

Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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 state-
       ments, loops not entered at the top, automatic variables declared and not used, and  logi-
       cal  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.

       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 outputs 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 miss-
	      ing 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/libexec/lint/lint[12]    programs
       /usr/share/lint/llib-lc.ln    declarations for standard functions
       /usr/share/lint/llib-lc	     human readable version of above
       /usr/share/lint/llib-port.ln  declarations for portable functions
       /usr/share/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		 October 22, 1996				  LINT(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:38 AM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?