LCLint User's Guide

Version 2.4
April 1998

David Evans
Software Devices and Systems Group
MIT Laboratory for Computer Science

LCLint is a tool for statically checking C programs. With minimal effort, LCLint can be used as a better lint.[1] If additional effort is invested adding annotations to programs, LCLint can perform stronger checks than can be done by any standard lint.

Some problems detected by LCLint include:

LCLint checking can be customized to select what classes of errors are reported using command line flags and stylized comments in the code.

This document is a guide to using LCLint. Section 1 is a brief overview of the design goals of LCLint. Section 2 explains how to run LCLint, interpret messages produce, and control checking. Sections 3-10 describe particular checks done by LCLint.


  1. Overview
  2. Operation
  3. Abstract Types
  4. Function Interfaces
  5. Memory Management
  6. Sharing
  7. Value Constraints
  8. Macros
  9. Naming Conventions
  10. Other Checks


Appendix A. Availability
Appendix B. Communication
Appendix C. Flags
Appendix D. Annotations
Appendix E. Control Comments
Appendix F. Libraries
Appendix G. Specifications
Appendix H. Emacs



Next Section LCLint Home Page David Evans
Software Devices and Systems