The AUTOSAR C++ Coding Guidelines are an update to MISRA C++ 2008 intended for use with C++14 in
the development of safety-related software. The AUTOSAR guidelines consist of a combination of
unmodified MISRA C++ 2008 rules, modified MISRA C++ 2008 rules, and completely new rules. Like
its predecessor, the goal of these guidelines is to help facilitate the development of safe and reliable
software.
There were five released versions of the AUTOSAR guidelines named after the year and month of their release:
17-03, 17-10, 18-03, 18-10, and 19-03. There are no guideline differences between 18-10 and 19-03. Previous versions
of PC-lint Plus targeted AUTOSAR 17-03. Starting with PC-lint Plus 2.0, both AUTOSAR 17-03 and
AUTOSAR 19-03 are supported. These are hereafter referred to as AUTOSAR17 and AUTOSAR19,
respectively.
PC-lint Plus provides support for detecting violations of the AUTOSAR17 guidelines using the au-autosar.lnt file
and violations of the AUTOSAR19 guidelines using the au-autosar19.lnt file, both distributed with the product
in the lnt/ directory. The tables that follow detail the level of support and the supporting messages for each
guideline. While some of the messages are very specific to AUTOSAR guidelines, any of the messages may be
employed individually in order to make use of a subset of the checks, outside of AUTOSAR compliance
checking.
The author file enables checks for both library and non-library code. This means that the standard
headers employed by your source code are subject to the same scrutiny as the rest of the project.
This is often a project requirement but can result in a lot of noise if library code is not subject to the
same compliance requirements as the rest of the project. The simplest way to disable AUTOSAR
checks for library code is to place the options -wlib(4) -wlib(1) immediately after the
author file is referenced. This raises and immediately lowers the warning level for libraries
resulting in a suppression of all non-error messages from library code. Any non-error
messages that you intend to enable for library code (e.g. via +elib) should appear after these
options.
The following subsections document the level of support provided by PC-lint Plus for each of the AUTOSAR
guidelines. The rule number, level of support, and primary enforcing messages are provided. While every effort is
made to ensure the correctness of the information provided here, Vector Informatik GmbH makes no guarantee with
respect to the accuracy of the information conveyed.
The following terms are used to characterize the support that PC-lint Plus provides each guideline:
Supported - For statically checkable guidelines, the rule is comprehensively supported and no false positives nor false negatives are expected. For guidelines that are not fully statically checkable, substantial support is provided to detect statically checkable violations.
Partially Supported - Meaningful support is provided but there may be cases where false positives and/or false negatives may occur due to limitations in the currently implemented detection method, one or more guideline exceptions are not implemented, etc.
Assistance Provided - While enforcement of the actual guideline is not supported (or cannot be statically checked), potential violations of the guideline are diagnosed.
Not Supported - No meaningful level of support is currently provided for this guideline.
Not Statically Checkable - Violations of the guideline cannot be detected by means of static analysis.
Most guidelines marked as Partially Supported or Assistance Provided contain a footnote that corresponds to an explanation of the corresponding limitation(s) at the end of each support matrix.
| Supported | 275 | 78.1% |
| Comprehensive | 252 | 71.6% |
| Partial | 21 | 6.0% |
| Assistance | 2 | 0.6% |
| Not Supported | 77 | 21.9% |
| Not Statically Checkable | 45 |
|
| TOTAL | 397 |
|
| M0-1-1 | Supported | |||
| M0-1-2 | Supported | |||
| M0-1-3 | Supported | |||
| M0-1-4 | Partially supported1 | |||
| A0-1-1 | Partially supported2 | |||
| A0-1-2 | Supported | |||
| M0-1-8 | Supported | |||
| M0-1-9 | Supported | |||
| M0-1-10 | Supported | |||
| A0-1-3 | Partially supported3 | |||
| A0-1-4 | Supported | |||
| A0-1-5 | Not supported |
|
||
| A0-1-6 | Supported | |||
| M0-2-1 | Partially supported4 | |||
| M0-3-1 | Not statically checkable |
|
||
| M0-3-2 | Not statically checkable |
|
||
| M0-4-1 | Not statically checkable |
|
||
| M0-4-2 | Not statically checkable |
|
||
| A0-4-1 | Not statically checkable |
|
||
| A0-4-2 | Supported | |||
| A0-4-3 | Not statically checkable |
|
||
| A0-4-4 | Partially supported5 | |||
| A1-1-1 | Partially supported6 | |||
| M1-0-2 | Not statically checkable |
|
||
| A1-1-2 | Not statically checkable |
|
||
| A1-1-3 | Not statically checkable |
|
||
| A1-2-1 | Not statically checkable |
|
||
| A1-4-1 | Not statically checkable |
|
||
| A1-4-3 | Not statically checkable |
|
||
| A2-3-1 | Not supported |
|
||
| A2-5-1 | Supported | |||
| A2-5-2 | Supported | |||
| M2-7-1 | Supported | |||
| A2-7-1 | Supported | |||
| A2-7-2 | Not statically checkable | |||
| A2-7-3 | Not supported |
|
||
| A2-7-5 | Not statically checkable |
|
||
| A2-8-1 | Not statically checkable |
|
||
| A2-8-2 | Not statically checkable |
|
||
| M2-10-1 | Not supported |
|
||
| A2-10-1 | Supported | |||
| A2-10-6 | Not supported |
|
||
| A2-10-4 | Supported | |||
| A2-10-5 | Supported | |||
| A2-11-1 | Supported | |||
| A2-13-1 | Supported | |||
| A2-13-6 | Supported | |||
| A2-13-5 | Supported | |||
| M2-13-2 | Supported | |||
| M2-13-3 | Supported | |||
| M2-13-4 | Supported | |||
| A2-13-2 | Supported | |||
| A2-13-3 | Supported | |||
| A2-13-4 | Supported | |||
| A3-1-1 | Supported | |||
| A3-1-2 | Not supported |
|
||
| A3-1-3 | Not supported |
|
||
| M3-1-2 | Supported | |||
| A3-1-4 | Supported | |||
| A3-1-5 | Supported | |||
| A3-1-6 | Not supported |
|
||
| M3-2-1 | Supported | |||
| M3-2-2 | Supported | |||
| M3-2-3 | Supported | |||
| M3-2-4 | Supported | |||
| A3-3-1 | Not supported |
|
||
| A3-3-2 | Supported | |||
| M3-3-2 | Supported | |||
| M3-4-1 | Partially supported7 | |||
| A3-8-1 | Not statically checkable |
|
||
| M3-9-1 | Partially supported | |||
| A3-9-1 | Supported | |||
| M3-9-3 | Supported | |||
| M4-5-1 | Supported | |||
| A4-5-1 | Not supported |
|
||
| M4-5-3 | Supported | |||
| A4-7-1 | Not supported |
|
||
| M4-10-1 | Not supported |
|
||
| A4-10-1 | Supported | |||
| M4-10-2 | Supported | |||
| A5-0-1 | Supported | |||
| M5-0-2 | Supported | |||
| M5-0-3 | Supported | |||
| M5-0-4 | Supported | |||
| M5-0-5 | Supported | |||
| M5-0-6 | Supported | |||
| M5-0-7 | Supported | |||
| M5-0-8 | Supported | |||
| M5-0-9 | Supported | |||
| M5-0-10 | Supported | |||
| M5-0-11 | Supported | |||
| M5-0-12 | Not supported |
|
||
| A5-0-2 | Supported | |||
| M5-0-14 | Supported | |||
| M5-0-15 | Supported | |||
| M5-0-16 | Supported | |||
| M5-0-17 | Assistance provided8 | |||
| A5-0-4 | Supported | |||
| M5-0-18 | Assistance provided9 | |||
| A5-0-3 | Supported | |||
| M5-0-20 | Supported | |||
| M5-0-21 | Supported | |||
| A5-1-1 | Not supported |
|
||
| A5-1-2 | Supported | |||
| A5-1-3 | Supported | |||
| A5-1-4 | Not supported |
|
||
| A5-1-6 | Supported | |||
| A5-1-7 | Supported | |||
| A5-1-8 | Supported | |||
| A5-1-9 | Not supported |
|
||
| M5-2-2 | Supported | |||
| M5-2-3 | Supported | |||
| A5-2-1 | Supported | |||
| A5-2-2 | Supported | |||
| A5-2-3 | Supported | |||
| M5-2-6 | Supported | |||
| A5-2-4 | Supported | |||
| A5-2-6 | Supported | |||
| M5-2-8 | Supported | |||
| M5-2-9 | Supported | |||
| M5-2-10 | Supported | |||
| M5-2-11 | Supported | |||
| A5-2-5 | Supported | |||
| M5-2-12 | Supported | |||
| M5-3-1 | Supported | |||
| M5-3-2 | Supported | |||
| M5-3-3 | Supported | |||
| M5-3-4 | Supported | |||
| A5-3-1 | Supported | |||
| A5-3-2 | Supported | |||
| A5-3-3 | Supported | |||
| A5-5-1 | Not supported |
|
||
| A5-6-1 | Partially supported10 | |||
| M5-8-1 | Supported | |||
| A5-10-1 | Not supported |
|
||
| M5-14-1 | Supported | |||
| A5-16-1 | Not supported |
|
||
| M5-17-1 | Not statically checkable |
|
||
| M5-18-1 | Supported | |||
| M5-19-1 | Not supported |
|
||
| M6-2-1 | Supported | |||
| A6-2-1 | Not supported |
|
||
| A6-2-2 | Not supported |
|
||
| M6-2-2 | Supported | |||
| M6-2-3 | Supported | |||
| M6-3-1 | Supported | |||
| M6-4-1 | Supported | |||
| M6-4-2 | Supported | |||
| M6-4-3 | Supported | |||
| M6-4-4 | Supported | |||
| M6-4-5 | Supported | |||
| M6-4-6 | Supported | |||
| M6-4-7 | Supported | |||
| A6-4-1 | Supported | |||
| A6-5-1 | Not supported |
|
||
| A6-5-2 | Supported | |||
| M6-5-2 | Supported | |||
| M6-5-3 | Supported | |||
| M6-5-4 | Supported | |||
| M6-5-5 | Supported | |||
| M6-5-6 | Supported | |||
| A6-5-3 | Supported | |||
| A6-5-4 | Not supported |
|
||
| A6-6-1 | Supported | |||
| M6-6-1 | Supported | |||
| M6-6-2 | Supported | |||
| M6-6-3 | Supported | |||
| A7-1-1 | Partially supported11 | |||
| A7-1-2 | Partially supported12 | |||
| M7-1-2 | Supported | |||
| A7-1-3 | Supported | |||
| A7-1-4 | Supported | |||
| A7-1-5 | Supported | |||
| A7-1-6 | Supported | |||
| A7-1-7 | Partially supported13 | |||
| A7-1-8 | Supported | |||
| A7-1-9 | Supported | |||
| A7-2-1 | Not supported |
|
||
| A7-2-2 | Supported | |||
| A7-2-3 | Supported | |||
| A7-2-4 | Supported | |||
| A7-2-5 | Not statically checkable |
|
||
| M7-3-1 | Supported | |||
| M7-3-2 | Supported | |||
| M7-3-3 | Supported | |||
| M7-3-4 | Supported | |||
| A7-3-1 | Supported | |||
| M7-3-6 | Supported | |||
| A7-4-1 | Supported | |||
| M7-4-1 | Not statically checkable |
|
||
| M7-4-2 | Supported |
|
||
| M7-4-3 | Supported | |||
| M7-5-1 | Supported | |||
| M7-5-2 | Supported | |||
| A7-5-1 | Supported | |||
| A7-5-2 | Supported | |||
| A7-6-1 | Supported | |||
| M8-0-1 | Supported | |||
| A8-2-1 | Supported | |||
| M8-3-1 | Supported | |||
| A8-4-1 | Supported | |||
| M8-4-2 | Supported | |||
| A8-4-2 | Supported | |||
| M8-4-4 | Supported | |||
| A8-4-3 | Not statically checkable |
|
||
| A8-4-4 | Supported | |||
| A8-4-5 | Supported | |||
| A8-4-6 | Supported | |||
| A8-4-7 | Not supported |
|
||
| A8-4-8 | Supported | |||
| A8-4-9 | Supported | |||
| A8-4-10 | Supported | |||
| A8-4-11 | Not supported |
|
||
| A8-4-12 | Not supported |
|
||
| A8-4-13 | Not supported |
|
||
| A8-4-14 | Not statically checkable |
|
||
| A8-5-0 | Supported | |||
| A8-5-1 | Supported | |||
| M8-5-2 | Supported | |||
| A8-5-2 | Supported | |||
| A8-5-3 | Supported | |||
| A8-5-4 | Not supported |
|
||
| M9-3-1 | Supported | |||
| A9-3-1 | Not supported |
|
||
| M9-3-3 | Partially supported14 | |||
| A9-5-1 | Supported | |||
| M9-6-1 | Not statically checkable |
|
||
| A9-6-1 | Not supported |
|
||
| A9-6-2 | Not statically checkable |
|
||
| M9-6-4 | Supported | |||
| A10-0-1 | Not statically checkable |
|
||
| A10-0-2 | Not statically checkable |
|
||
| A10-1-1 | Supported | |||
| M10-1-1 | Supported | |||
| M10-1-2 | Supported | |||
| M10-1-3 | Supported | |||
| M10-2-1 | Supported | |||
| A10-2-1 | Supported | |||
| A10-3-1 | Supported | |||
| A10-3-2 | Supported | |||
| A10-3-3 | Supported | |||
| A10-3-5 | Supported | |||
| M10-3-3 | Supported | |||
| A10-4-1 | Not statically checkable |
|
||
| M11-0-1 | Supported | |||
| A11-0-1 | Supported | |||
| A11-0-2 | Supported | |||
| A11-3-1 | Supported | |||
| A12-0-1 | Supported | |||
| A12-0-2 | Partially supported15 | |||
| A12-1-1 | Supported | |||
| M12-1-1 | Partially supported16 | |||
| A12-1-2 | Supported | |||
| A12-1-3 | Not supported |
|
||
| A12-1-4 | Supported | |||
| A12-1-5 | Supported | |||
| A12-1-6 | Not supported |
|
||
| A12-4-1 | Supported | |||
| A12-4-2 | Supported | |||
| A12-6-1 | Not supported |
|
||
| A12-7-1 | Not supported |
|
||
| A12-8-1 | Not supported |
|
||
| A12-8-2 | Not supported |
|
||
| A12-8-3 | Supported | |||
| A12-8-4 | Not supported |
|
||
| A12-8-5 | Supported | |||
| A12-8-6 | Supported | |||
| A12-8-7 | Supported | |||
| A13-1-2 | Supported | |||
| A13-1-3 | Supported | |||
| A13-2-1 | Supported | |||
| A13-2-2 | Not supported |
|
||
| A13-2-3 | Supported | |||
| A13-3-1 | Not supported |
|
||
| A13-5-1 | Supported | |||
| A13-5-2 | Supported | |||
| A13-5-3 | Supported | |||
| A13-5-4 | Supported | |||
| A13-5-5 | Supported | |||
| A13-6-1 | Supported | |||
| A14-1-1 | Not statically checkable |
|
||
| A14-5-1 | Supported | |||
| A14-5-2 | Not supported |
|
||
| A14-5-3 | Supported | |||
| M14-5-3 | Supported | |||
| M14-6-1 | Supported | |||
| A14-7-1 | Not supported |
|
||
| A14-7-2 | Partially supported17 | |||
| A14-8-2 | Not supported |
|
||
| A15-0-1 | Not statically checkable |
|
||
| A15-0-2 | Not supported |
|
||
| A15-0-3 | Not statically checkable |
|
||
| A15-0-4 | Not statically checkable |
|
||
| A15-0-5 | Not statically checkable |
|
||
| A15-0-6 | Not statically checkable |
|
||
| A15-0-7 | Not supported |
|
||
| A15-0-8 | Not statically checkable |
|
||
| A15-1-1 | Supported | |||
| A15-1-2 | Supported | |||
| M15-0-3 | Supported | |||
| M15-1-1 | Not supported |
|
||
| M15-1-2 | Supported | |||
| M15-1-3 | Supported | |||
| A15-1-3 | Supported | |||
| A15-1-4 | Not supported |
|
||
| A15-1-5 | Not statically checkable |
|
||
| A15-2-1 | Supported | |||
| A15-2-2 | Not supported |
|
||
| M15-3-1 | Not supported |
|
||
| A15-3-2 | Not statically checkable |
|
||
| A15-3-3 | Not supported |
|
||
| A15-3-4 | Not statically checkable |
|
||
| M15-3-3 | Supported | |||
| M15-3-4 | Not supported |
|
||
| A15-3-5 | Partially supported18 | |||
| M15-3-6 | Supported | |||
| M15-3-7 | Supported | |||
| A15-4-1 | Supported | |||
| A15-4-2 | Not supported |
|
||
| A15-4-3 | Supported | |||
| A15-4-4 | Not supported |
|
||
| A15-4-5 | Not supported |
|
||
| A15-5-1 | Supported | |||
| A15-5-2 | Supported | |||
| A15-5-3 | Partially supported19 | |||
| A16-0-1 | Partially supported20 | |||
| M16-0-1 | Supported | |||
| M16-0-2 | Supported | |||
| M16-0-5 | Supported | |||
| M16-0-6 | Supported | |||
| M16-0-7 | Supported | |||
| M16-0-8 | Supported | |||
| M16-1-1 | Supported | |||
| M16-1-2 | Supported | |||
| M16-2-3 | Supported | |||
| A16-2-1 | Supported | |||
| A16-2-2 | Not supported |
|
||
| A16-2-3 | Not statically checkable |
|
||
| M16-3-1 | Supported | |||
| M16-3-2 | Supported | |||
| A16-6-1 | Supported | |||
| A16-7-1 | Supported | |||
| A17-0-1 | Supported | |||
| M17-0-2 | Supported | |||
| M17-0-3 | Not supported |
|
||
| A17-0-2 | Not statically checkable |
|
||
| M17-0-5 | Supported | |||
| A17-1-1 | Not statically checkable |
|
||
| A17-6-1 | Not supported |
|
||
| A18-0-1 | Supported | |||
| A18-0-2 | Partially supported21 | |||
| M18-0-3 | Supported | |||
| M18-0-4 | Supported | |||
| M18-0-5 | Supported | |||
| A18-0-3 | Supported | |||
| A18-1-1 | Supported | |||
| A18-1-2 | Supported | |||
| A18-1-3 | Supported | |||
| A18-1-4 | Not supported |
|
||
| A18-1-6 | Not supported |
|
||
| M18-2-1 | Supported | |||
| A18-5-1 | Supported | |||
| A18-5-2 | Not supported |
|
||
| A18-5-3 | Supported | |||
| A18-5-4 | Supported | |||
| A18-5-5 | Not supported |
|
||
| A18-5-6 | Not statically checkable |
|
||
| A18-5-7 | Not statically checkable |
|
||
| A18-5-8 | Not supported |
|
||
| A18-5-9 | Supported | |||
| A18-5-10 | Partially supported22 | |||
| A18-5-11 | Supported | |||
| M18-7-1 | Supported | |||
| A18-9-1 | Supported | |||
| A18-9-2 | Not supported |
|
||
| A18-9-3 | Supported | |||
| A18-9-4 | Supported | |||
| M19-3-1 | Supported | |||
| A20-8-1 | Not supported |
|
||
| A20-8-2 | Not supported |
|
||
| A20-8-3 | Not supported |
|
||
| A20-8-4 | Not supported |
|
||
| A20-8-5 | Not supported |
|
||
| A20-8-6 | Not supported |
|
||
| A20-8-7 | Not statically checkable |
|
||
| A21-8-1 | Supported | |||
| A23-0-1 | Not supported |
|
||
| A23-0-2 | Not supported |
|
||
| A25-1-1 | Not supported |
|
||
| A25-4-1 | Not statically checkable |
|
||
| A26-5-1 | Supported | |||
| A26-5-2 | Not supported |
|
||
| M27-0-1 | Supported | |||
| A27-0-1 | Not statically checkable |
|
||
| A27-0-4 | Not supported |
|
||
| A27-0-2 | Not supported |
|
||
| A27-0-3 | Not supported |
|
||
1Unreferenced global non-static variables are not reported
2The exemption for loop control variables is not honored
3Unused private methods and functions defined in anonymous namespaces are not reported
4Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
5Many Standard C math functions are checked for arguments that will result in domain errors
6The following uses of deprecated features are reported: incrementing an expression of Boolean type, use of the register keyword, use of
an exception specification, use of std::random_shuffle, calls to std::ptr_fun; std::mem_fun; or std::mem_fun_ref, and calls to
std::bind1st or std::bind2nd. Additionally, many instances of non-conformant syntactic or semantic compilation errors are diagnosed by
messages in the ‘error’ message category without appended text citing this rule.
7Only global objects with external linkage that could be defined within a function are reported
8Reports all pointer subtractions
9Reports all pointer relational operations
10Diagnoses cases where PC-lint Plus determines a likely potential for modulus or division by zero
11Reports variables that are translation-unit-local
12Reports variables that are translation-unit-local
13Reports all declarations containing multiple declarators, and expression statements that occur on the same line.
14"could be static" not supported
15Calls to functions like memcpy, memcmp, memmove with pointer to non-POD types are reported.
16Doesn’t report on use of typeid or dynamic_cast of dynamic type
17Function template specializations declared in different files from the primary template are reported
18Issued when throwing non-class objects (e.g. pointers)
19Doesn’t report all cases std::terminate is implicitly called
20Reports on the use of #line, #error, #pragma, #undef, and null directives and function-like macro definitions
21The use of atof, atoi, and atol are diagnosed.
22Subsequent use of pointers passed to placement new, and pointer arguments whose pointees are defined outside the current module,
are not reported
| Supported | 248 | 80.8% |
| Comprehensive | 228 | 74.3% |
| Partial | 18 | 5.9% |
| Assistance | 2 | 0.7% |
| Not Supported | 59 | 19.2% |
| Not Statically Checkable | 29 |
|
| TOTAL | 336 |
|
| M0-1-1 | Supported | |||
| M0-1-2 | Supported | |||
| M0-1-3 | Supported | |||
| M0-1-4 | Partially supported1 | |||
| M0-1-5 | Supported | |||
| A0-1-1 | Partially supported2 | |||
| A0-1-2 | Supported | |||
| M0-1-8 | Supported | |||
| M0-1-9 | Supported | |||
| M0-1-10 | Supported | |||
| A0-1-3 | Partially supported3 | |||
| M0-1-11 | Supported | |||
| M0-1-12 | Not supported |
|
||
| M0-2-1 | Partially supported4 | |||
| M0-3-1 | Not statically checkable |
|
||
| M0-3-2 | Not supported |
|
||
| M0-4-1 | Not statically checkable |
|
||
| M0-4-2 | Not statically checkable |
|
||
| A0-4-1 | Not statically checkable |
|
||
| A0-4-2 | Supported | |||
| A0-4-3 | Not statically checkable |
|
||
| A1-1-1 | Partially supported5 | |||
| M1-0-2 | Not statically checkable |
|
||
| A1-1-2 | Not statically checkable |
|
||
| A1-1-3 | Not statically checkable |
|
||
| A1-2-1 | Not statically checkable |
|
||
| A1-4-1 | Not supported |
|
||
| A1-4-2 | Not supported |
|
||
| A2-2-1 | Not supported |
|
||
| A2-5-1 | Supported | |||
| A2-6-1 | Supported | |||
| A2-8-1 | Supported | |||
| A2-8-2 | Not statically checkable | |||
| A2-8-3 | Not supported |
|
||
| A2-8-4 | Supported | |||
| A2-9-1 | Not supported |
|
||
| M2-10-1 | Not supported |
|
||
| A2-11-1 | Supported | |||
| M2-10-3 | Supported | |||
| A2-11-2 | Not supported |
|
||
| A2-11-3 | Not supported |
|
||
| A2-11-4 | Not supported |
|
||
| A2-11-5 | Supported | |||
| M2-10-6 | Supported | |||
| A2-14-1 | Supported | |||
| M2-13-2 | Supported | |||
| M2-13-3 | Supported | |||
| M2-13-4 | Supported | |||
| A2-14-2 | Supported | |||
| A2-14-3 | Supported | |||
| A3-1-1 | Supported | |||
| A3-1-2 | Not supported |
|
||
| A3-1-3 | Not supported |
|
||
| M3-1-2 | Supported | |||
| A3-1-4 | Supported | |||
| M3-2-1 | Supported | |||
| M3-2-2 | Supported | |||
| M3-2-3 | Supported | |||
| M3-2-4 | Supported | |||
| A3-3-1 | Not supported |
|
||
| A3-3-2 | Supported | |||
| M3-3-2 | Supported | |||
| M3-4-1 | Partially supported6 | |||
| M3-9-1 | Partially supported | |||
| A3-9-1 | Supported | |||
| M3-9-3 | Supported | |||
| M4-5-1 | Supported | |||
| A4-5-1 | Not supported |
|
||
| M4-5-3 | Supported | |||
| A4-7-1 | Not supported |
|
||
| M4-10-1 | Not supported |
|
||
| A4-10-1 | Supported | |||
| M4-10-2 | Supported | |||
| A5-0-1 | Supported | |||
| M5-0-2 | Supported | |||
| M5-0-3 | Supported | |||
| M5-0-4 | Supported | |||
| M5-0-5 | Supported | |||
| M5-0-6 | Supported | |||
| M5-0-7 | Supported | |||
| M5-0-8 | Supported | |||
| M5-0-9 | Supported | |||
| M5-0-10 | Supported | |||
| M5-0-11 | Supported | |||
| M5-0-12 | Not supported |
|
||
| A5-0-2 | Supported | |||
| M5-0-14 | Supported | |||
| M5-0-15 | Supported | |||
| M5-0-16 | Supported | |||
| M5-0-17 | Assistance provided7 | |||
| M5-0-18 | Assistance provided8 | |||
| A5-0-3 | Supported | |||
| M5-0-20 | Supported | |||
| M5-0-21 | Supported | |||
| A5-1-1 | Not supported |
|
||
| A5-1-2 | Supported | |||
| A5-1-3 | Supported | |||
| A5-1-4 | Not supported |
|
||
| A5-1-5 | Not supported |
|
||
| A5-1-6 | Supported | |||
| A5-1-7 | Supported | |||
| A5-1-8 | Supported | |||
| M5-2-1 | Supported | |||
| M5-2-2 | Supported | |||
| M5-2-3 | Supported | |||
| A5-2-1 | Supported | |||
| A5-2-2 | Supported | |||
| A5-2-3 | Supported | |||
| M5-2-6 | Supported | |||
| A5-2-4 | Supported | |||
| M5-2-8 | Supported | |||
| M5-2-9 | Supported | |||
| M5-2-10 | Supported | |||
| M5-2-11 | Supported | |||
| A5-2-5 | Supported | |||
| M5-2-12 | Supported | |||
| M5-3-1 | Supported | |||
| M5-3-2 | Supported | |||
| M5-3-3 | Supported | |||
| M5-3-4 | Supported | |||
| A5-3-1 | Supported | |||
| A5-5-1 | Partially supported9 | |||
| M5-8-1 | Supported | |||
| A5-10-1 | Not supported |
|
||
| M5-14-1 | Supported | |||
| A5-16-1 | Not supported |
|
||
| M5-17-1 | Not supported |
|
||
| M5-18-1 | Supported | |||
| M5-19-1 | Not supported |
|
||
| M6-2-1 | Supported | |||
| M6-2-2 | Supported | |||
| M6-2-3 | Supported | |||
| M6-3-1 | Supported | |||
| M6-4-1 | Supported | |||
| M6-4-2 | Supported | |||
| M6-4-3 | Supported | |||
| M6-4-4 | Supported | |||
| M6-4-5 | Supported | |||
| M6-4-6 | Supported | |||
| M6-4-7 | Supported | |||
| A6-4-1 | Supported | |||
| A6-5-1 | Not supported |
|
||
| A6-5-2 | Supported | |||
| M6-5-2 | Supported | |||
| M6-5-3 | Supported | |||
| M6-5-4 | Supported | |||
| M6-5-5 | Supported | |||
| M6-5-6 | Supported | |||
| A6-6-1 | Supported | |||
| M6-6-1 | Supported | |||
| M6-6-2 | Supported | |||
| M6-6-3 | Supported | |||
| A7-1-1 | Partially supported10 | |||
| A7-1-2 | Partially supported11 | |||
| M7-1-2 | Supported | |||
| A7-1-3 | Supported | |||
| A7-1-4 | Supported | |||
| A7-1-5 | Supported | |||
| A7-1-6 | Supported | |||
| A7-1-7 | Partially supported12 | |||
| A7-1-8 | Supported | |||
| A7-2-1 | Not supported |
|
||
| A7-2-2 | Supported | |||
| A7-2-3 | Supported | |||
| A7-2-4 | Supported | |||
| M7-3-1 | Supported | |||
| M7-3-2 | Supported | |||
| M7-3-3 | Supported | |||
| M7-3-4 | Supported | |||
| M7-3-5 | Supported | |||
| M7-3-6 | Supported | |||
| A7-4-1 | Supported | |||
| M7-4-1 | Not statically checkable |
|
||
| M7-4-2 | Supported |
|
||
| M7-4-3 | Supported | |||
| M7-5-1 | Supported | |||
| M7-5-2 | Supported | |||
| A7-5-1 | Supported | |||
| A7-5-2 | Supported | |||
| M8-0-1 | Supported | |||
| A8-2-1 | Supported | |||
| M8-3-1 | Supported | |||
| A8-4-1 | Supported | |||
| M8-4-2 | Supported | |||
| A8-4-2 | Supported | |||
| M8-4-4 | Supported | |||
| M8-5-1 | Supported | |||
| A8-5-1 | Supported | |||
| M8-5-2 | Supported | |||
| A8-5-2 | Supported | |||
| A8-5-3 | Supported | |||
| A8-5-4 | Not statically checkable |
|
||
| M9-3-1 | Supported | |||
| A9-3-1 | Not supported |
|
||
| M9-3-3 | Partially supported13 | |||
| M9-5-1 | Supported | |||
| M9-6-1 | Not statically checkable |
|
||
| A9-6-1 | Supported | |||
| A10-1-1 | Supported | |||
| M10-1-1 | Supported | |||
| M10-1-2 | Supported | |||
| M10-1-3 | Supported | |||
| M10-2-1 | Supported | |||
| A10-2-1 | Supported | |||
| A10-3-1 | Supported | |||
| A10-3-2 | Supported | |||
| A10-3-3 | Supported | |||
| A10-3-5 | Supported | |||
| M10-3-3 | Supported | |||
| M11-0-1 | Supported | |||
| A11-0-1 | Supported | |||
| A11-0-2 | Supported | |||
| A11-3-1 | Supported | |||
| A12-0-1 | Supported | |||
| A12-1-1 | Supported | |||
| M12-1-1 | Partially supported14 | |||
| A12-1-2 | Supported | |||
| A12-1-3 | Not supported |
|
||
| A12-1-4 | Supported | |||
| A12-4-1 | Supported | |||
| A12-4-2 | Supported | |||
| A12-6-1 | Not supported |
|
||
| A12-7-1 | Not supported |
|
||
| A12-8-1 | Not supported |
|
||
| A12-8-2 | Not supported |
|
||
| A12-8-3 | Supported | |||
| A12-8-4 | Not supported |
|
||
| A12-8-5 | Supported | |||
| A12-8-6 | Supported | |||
| A12-8-7 | Supported | |||
| A13-1-1 | Supported | |||
| A13-1-2 | Supported | |||
| A13-1-3 | Supported | |||
| A13-2-1 | Supported | |||
| A13-2-2 | Not supported |
|
||
| A13-2-3 | Supported | |||
| A13-3-1 | Not supported |
|
||
| A13-5-1 | Supported | |||
| A13-6-1 | Supported | |||
| A14-1-1 | Not statically checkable |
|
||
| M14-5-2 | Supported | |||
| M14-5-3 | Partially supported | |||
| M14-6-1 | Supported | |||
| A14-7-1 | Not supported |
|
||
| M14-7-3 | Partially supported15 | |||
| M14-8-1 | Not supported |
|
||
| A14-8-1 | Supported | |||
| A15-0-1 | Not statically checkable |
|
||
| A15-0-2 | Not supported |
|
||
| A15-0-3 | Not statically checkable |
|
||
| A15-0-4 | Not statically checkable |
|
||
| A15-0-5 | Not statically checkable |
|
||
| A15-0-6 | Not statically checkable |
|
||
| A15-0-7 | Not supported |
|
||
| A15-0-8 | Not statically checkable |
|
||
| A15-1-1 | Supported | |||
| A15-1-2 | Supported | |||
| M15-0-3 | Supported | |||
| M15-1-1 | Not supported |
|
||
| M15-1-2 | Supported | |||
| M15-1-3 | Supported | |||
| A15-1-3 | Supported | |||
| A15-1-4 | Not supported |
|
||
| A15-1-5 | Not statically checkable |
|
||
| A15-2-1 | Supported | |||
| A15-2-2 | Not supported |
|
||
| M15-3-1 | Not supported |
|
||
| A15-3-1 | Not supported |
|
||
| A15-3-2 | Not statically checkable |
|
||
| A15-3-3 | Not supported |
|
||
| A15-3-4 | Not statically checkable |
|
||
| M15-3-3 | Supported | |||
| M15-3-4 | Not supported |
|
||
| A15-3-5 | Partially supported16 | |||
| M15-3-6 | Supported | |||
| M15-3-7 | Supported | |||
| A15-4-1 | Supported | |||
| A15-4-2 | Not supported |
|
||
| A15-4-3 | Supported | |||
| A15-4-4 | Not supported |
|
||
| A15-4-5 | Not supported |
|
||
| A15-4-6 | Not supported |
|
||
| A15-5-1 | Supported | |||
| A15-5-2 | Supported | |||
| A15-5-3 | Partially supported17 | |||
| A16-0-1 | Partially supported18 | |||
| M16-0-1 | Supported | |||
| M16-0-2 | Supported | |||
| M16-0-5 | Supported | |||
| M16-0-6 | Supported | |||
| M16-0-7 | Supported | |||
| M16-0-8 | Supported | |||
| M16-1-1 | Supported | |||
| M16-1-2 | Supported | |||
| M16-2-3 | Supported | |||
| A16-2-1 | Supported | |||
| A16-2-2 | Not supported |
|
||
| A16-2-3 | Not statically checkable |
|
||
| M16-3-1 | Supported | |||
| M16-3-2 | Supported | |||
| A16-6-1 | Supported | |||
| A16-7-1 | Supported | |||
| A17-0-1 | Supported | |||
| M17-0-2 | Supported | |||
| M17-0-3 | Not supported |
|
||
| M17-0-5 | Supported | |||
| A17-1-1 | Not statically checkable |
|
||
| A18-0-1 | Supported | |||
| A18-0-2 | Supported | |||
| M18-0-3 | Supported | |||
| M18-0-4 | Supported | |||
| M18-0-5 | Supported | |||
| A18-0-3 | Supported | |||
| A18-1-1 | Supported | |||
| A18-1-2 | Supported | |||
| A18-1-3 | Supported | |||
| A18-1-4 | Not supported |
|
||
| A18-1-5 | Not supported |
|
||
| M18-2-1 | Supported | |||
| A18-5-1 | Supported | |||
| A18-5-2 | Not supported |
|
||
| A18-5-3 | Supported | |||
| A18-5-4 | Supported | |||
| A18-5-5 | Not statically checkable |
|
||
| A18-5-6 | Not statically checkable |
|
||
| A18-5-7 | Not statically checkable |
|
||
| M18-7-1 | Supported | |||
| A18-9-1 | Supported | |||
| A18-9-2 | Not supported |
|
||
| A18-9-3 | Supported | |||
| A18-9-4 | Supported | |||
| M19-3-1 | Supported | |||
| A23-0-1 | Not supported |
|
||
| M27-0-1 | Supported | |||
| A27-0-1 | Not statically checkable |
|
||
| A27-0-2 | Not supported |
|
||
1Unreferenced global non-static variables are not reported
2The exemption for loop control variables is not honored
3Unused private methods are not reported
4Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
5The following uses of deprecated features are reported: incrementing an expression of Boolean type, use of the register keyword, use of
an exception specification, use of std::random_shuffle, calls to std::ptr_fun; std::mem_fun; or std::mem_fun_ref, and calls to
std::bind1st or std::bind2nd. Additionally, many instances of non-conformant syntactic or semantic compilation errors are diagnosed by
messages in the ‘error’ message category without appended text citing this rule.
6Only global objects with external linkage that could be defined within a function are reported
7Reports all pointer subtractions
8Reports all pointer relational operations
9Diagnoses cases where PC-lint Plus determines a likely potential for modulus or division by zero
10Reports variables that are translation-unit-local
11Reports variables that are translation-unit-local
12Reports all declarations containing multiple declarators
13"could be static" not supported
14Doesn’t report on use of typeid or dynamic_cast of dynamic type
15Only violations involving function template specializations are reported
16Issued when throwing non-class objects (e.g. pointers)
17Doesn’t report all cases std::terminate is implicitly called
18Reports on the use of #line, #error, #pragma, #undef, and null directives and function-like macro definitions