PC-Lint Plus für C/C++

Statische Analyse von C/C++ Quellcode

Hersteller: Gimpel Software

Aktuelle Version: 1.4.1 / Betriebssysteme: Windows 7/8/10 (32-/64-bit), Linux (64-bit) und MacOS.

Das ist neu in PC-Lint Plus für C/C++

PC-lint Plus 1.4 released

Version 1.4 contains more than 100 improvements. The most notable changes in this release are:

  • Thread Analysis: Version 1.4 introduces analysis aimed at multi-threaded programs allowing PC-lint Plus to detect a wide range of issues specific to multi-threading.
  • Support for MISRA C 2012 AMD-2: The new au-misra3-amd2.lnt file enables PC-lint Plus support for the MISRA C 2012 AMD-2.
  • New message 2415 reports out of range comparisons in loop conditions
  • New builtin __lint_assert function and assert macro override for pclp_config- generated compiler configurations
  • Automatic compiler configuration generation for Texas Instruments Code Composer Studio compilers using pclp_config.py

PC-lint Plus certified for ISO 26262 and IEC 61508

PC-lint Plus has been certified by exida® for ISO 26262:2018 (ASIL D qualified) and IEC 61508:2010 (SIL 4 qualified). Certification documents for the current release of PC-lint Plus are now available.

Exida Asil D Exida Sil4

PC-lint Plus 1.3 released

Version 1.3 contains approximately 200 improvements to PC-lint Plus. Changes are described in detail in the reference manual chapter “Revision History”. Notable changes include:

  • Over 50 new messages
  • Introductory support for AUTOSAR® C++ and CERT® C
  • Support for BARR-C:2018
  • New options and flags
  • Improvements to MISRA C and MISRA C++
  • Automated configuration support for Keil ARMCC and Microchip XC compilers
  • Integration instructions for Keil μVision and Microchip MPLAB X

PC-lint Plus 1.2 released

Version 1.2 contains over 100 improvements to PC-lint Plus. Changes are described in detail in the reference manual chapter “Revision History”. Notable changes include:

  • Over a dozen new messages
  • Full support for C++17
  • New options and flags
  • Improvements to MISRA C and MISRA C++
  • Support for 16-bit and 32-bit bytes
  • Improved quality of syntax and option errors
  • Improved documentation

Initial Release and Version 1.1

PC-lint Plus includes many new messages, features, and enhancements.
The highlights :
Modern C++ Support

PC-lint Plus fully supports C++11 and C++14 and most of the soon-to-be published C++17 Standard by leveraging clang to perform the lexing and parsing for C and C++ source code. Clang updates are regularly merged into PC-lint Plus ensuring prompt support for the newest language features. As a result, PC-lint Plus supports the latest compilers, including current versions of GCC and clang as well as Visual Studio 2015. Improved Value Tracking

Improved Value Tracking

Value tracking now stores ranges of values instead of just individual values which allows PC-lint Plus to gain further insight into your code when the exact values are unknown but they may be bounded by conditional logic. Structure members and floating point values are also now tracked. Data and function pointers can participate in value tracking which allows PC-lint Plus to provide more effective analysis and a better understanding of aliased values and functions.

Parallel Analysis

PC-lint Plus supports parallel analysis of projects by using separate threads to analyze each source code module, which speeds up the analysis process by making full use of the available hardware. Streamlined Configuration

Streamlined Configuration

A new configuration tool automates the configuration process by extracting information from your compiler and your build process to generate comprehensive and accurate configurations that match the way you build your projects.

Improved MISRA C 2012 Support

PC-lint Plus further extends existing MISRA C 2012 support with new messages, improved message verbiage that more clearly explains the violation being diagnosed, and underlying type breakdowns that show exactly how the different parts of an expression contributed to the ultimate underlying type of the expression to aid in the understanding of messages related to underlying types.

Enhanced Diagnostics

Diagnostic facilities have been greatly improved in PC-lint Plus by providing the precise locations of issues encountered, by highlighting the key constructs referenced in the message, and by the introduction of supplemental messages to provide further insight into the conditions that lead to the issuance of the diagnostic.

Messages can now be organized into user-defined named groups for easier manipulation, parameterized suppressions can be localized to a specific code region, messages can be suppressed using regular expressions, and -efile can now be used to suppress messages within specific files.

Improved Function Semantics

PC-lint Plus provides built-in function semantics for over 200 standard library functions.

Custom return semantics defined with the `-sem` option are now verified when the body of the function is available. For example, a semantic that specifies that a function never returns null will result in a diagnostic if the function actually does ever return null.

User-defined function semantics can also now be specified for individual function overloads and function templates.

Other features

In addition to the new features and enhancements described above, PC-lint Plus contains dozens of minor improvements including a built-in help system, deprecation of types and options, improved printf and scanf format string checking with positional parameter support, the ability to save and restore entire option contexts, improved message verbiage for existing messages, and hundreds of new diagnostics (including many dedicated to the use of new C++ language features).


PC-Lint Plus ist von exida® zertifiziert für ISO 26262:2018 (ASIL D qualified) und IEC 61508:2010 (SIL 4 qualified).

Visual Lint

PC-Lint Plus ist ein reines Kommandozeilentool.
Das Add-On Visual Lint bietet eine komfortable grafische Bedieneroberfläche, sowie eine Integration in Visual Studio und Eclipse für PC-Lint Plus.