The Motor Industry Software Reliability Association (MISRA) is an organization that produces and maintains
C and C++ programming guidelines. The primary purpose of these guidelines is to codify a set of
recommendations related to software development that aids in the creation of "safe and reliable software".
While MISRA is an effort born out of the automotive industry, MISRA’s success has grown and the
guidelines have been adopted to meet needs in other safety-critical industries such as healthcare and
aerospace.
MISRA has produced five versions of their guidelines for C, each one replacing the previous version. The versions
are MISRA C 1998 (sometimes referred to as MISRA C1), MISRA C 2004 (aka MISRA C2), MISRA C 2012 (aka
MISRA C3), MISRA C:2023 (aka MISRA C4), and MISRA C:2025 (aka MISRA C5). In 2008, MISRA released
guidelines for C++ (MISRA C++:2008). In 2016 MISRA released an amendment to MISRA C 2012 (MISRA C 2012
AMD-1) which adds several new rules. In 2020 MISRA released a second amendment to MISRA C
2012 (AMD-2) adding two new rules and updating several others. A third amendment to MISRA
C 2012 (AMD-3) was released in 2022 and a fourth amendment (AMD-4) in 2023. In 2023 MISRA
released MISRA C:2023 as well as guidelines for C++17 (MISRA C++:2023). The AUTOSAR coding
guidelines (also supported by PC-lint Plus) was an interim effort that attempted to produce a modern
version of the original MISRA C++ guidelines for use with C++14. In 2025 MISRA released MISRA
C:2025.
Each MISRA guidelines document consists of a series of numbered advisory, required, and mandatory "rules" and
"directives". A directive is more generalized (such as requiring that "run-time failures be minimized") while Rules are
concrete and testable (such as forbidding the use of C++ style comments). Directives are often not statically
checkable while Rules often are.
PC-lint Plus provides support for the MISRA C2, MISRA C3 (including AMD-1, AMD-2, AMD-3, and AMD-4),
MISRA C4, MISRA C5, and the MISRA C++ and MISRA C++:2023 guidelines. This support is achieved through a
combination of standard PC-lint Plus messages and elective notes dedicated to specific MISRA rules. Vector
Informatik GmbH provides the author files au-misra2.lnt, au-misra3.lnt, au-misra3-amd1.lnt,
au-misra3-amd2.lnt, au-misra3-amd3.lnt, au-misra3-amd4.lnt, au-misra4.lnt, au-misra5.lnt,
au-misra-cpp.lnt, and au-misra-cpp2.lnt to enable the checks necessary to support these guidelines. These
author files include -append options which cause messages that are used to report on MISRA violations to be
annotated with the corresponding Rule or Directive number(s).
While some of the messages are very specific to MISRA guidelines (such as those involving interactions amongst
"essential types", a MISRA creation), any of the messages may be employed individually for those desiring to make
use of a subset of the checks, outside of MISRA compliance checking.
The author files enable checks for both library and non-library code. This means that the standard
headers used in your source code are subject to the same scrutiny as the rest of the project.
This is often a 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. MISRA checks can be
disabled for library code by placing the options -wlib(4) -wlib(1) immediately after the
author file is referenced. This raises and immediately lowers the library warning level
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 corresponding
guidelines. For each guideline, the guideline name, level of support, and primary enforcing messages are provided.
The letters within parentheses after each rule indicate whether the rule is advisory, required, documentation, or
mandatory. An asterisk inside the parentheses indicates that MISRA has deemed the rule to be "undecidable", that
is not possible to be fully checked by static analysis methods. In such cases PC-lint Plus provides
the level of support feasible. While every effort is made to ensure the correctness of the information
provided here, Vector Informatik GmbH makes no guarantee regarding 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 | 198 | 90.8% |
| Comprehensive | 179 | 82.1% |
| Partial | 16 | 7.3% |
| Assistance | 3 | 1.4% |
| Not Supported | 20 | 9.2% |
| Not Statically Checkable | 5 |
|
| TOTAL | 223 |
|
| Dir 1.1 (Req) | Not statically checkable |
|
||
| Dir 1.2 (Adv*) | Not statically checkable |
|
||
| Dir 2.1 (Req) | Supported |
|
||
| Dir 3.1 (Req) | Not statically checkable |
|
||
| Dir 4.1 (Req) | Not statically checkable |
|
||
| Dir 4.2 (Adv) | Not statically checkable |
|
||
| Dir 4.3 (Req) | Supported | |||
| Dir 4.4 (Adv) | Supported | |||
| Dir 4.5 (Adv) | Supported | |||
| Dir 4.6 (Adv) | Partially supported1 | |||
| Dir 4.7 (Req) | Supported | |||
| Dir 4.8 (Adv) | Supported | |||
| Dir 4.9 (Adv) | Supported | |||
| Dir 4.10 (Req) | Supported | |||
| Dir 4.11 (Req) | Supported | |||
| Dir 4.12 (Req) | Supported | |||
| Dir 4.13 (Adv) | Supported | 429 449 454 455 456 459 460 461 593 815 2434 2461 2462 2471 2474 2475 2476 2477 2478 2479 2492 2493 |
||
| Dir 4.14 (Req) | Not supported |
|
||
| Dir 4.15 (Req) | Not supported |
|
||
| Dir 5.1 (Req) | Supported | |||
| Dir 5.2 (Req) | Supported | |||
| Dir 5.3 (Req) | Partially supported2 | |||
| Rule 1.1 (Req) | Supported | |||
| Rule 1.3 (Req*) | Partially supported3 | 1 2 31 34 40 54 86 115 401 413 414 419 437 449 466 491 498 557 558 566 576 606 629 705 706 707 719 783 792 816 931 972 975 1013 1107 2402 2405 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9423 9443 |
||
| Rule 1.4 (Req) | Supported | |||
| Rule 1.5 (Req*) | Not supported |
|
||
| Rule 2.1 (Req*) | Supported | |||
| Rule 2.2 (Req*) | Supported | |||
| Rule 2.3 (Adv) | Supported | |||
| Rule 2.4 (Adv) | Supported | |||
| Rule 2.5 (Adv) | Supported | |||
| Rule 2.6 (Adv) | Supported | |||
| Rule 2.7 (Adv) | Supported | |||
| Rule 2.8 (Adv) | Supported | |||
| Rule 3.1 (Req) | Supported | |||
| Rule 3.2 (Req) | Supported | |||
| Rule 4.1 (Req) | Supported | |||
| Rule 4.2 (Adv) | Supported | |||
| Rule 5.1 (Req) | Supported | |||
| Rule 5.2 (Req) | Supported | |||
| Rule 5.3 (Req) | Supported | |||
| Rule 5.4 (Req) | Supported | |||
| Rule 5.5 (Req) | Partially supported4 | |||
| Rule 5.6 (Req) | Supported | |||
| Rule 5.7 (Req) | Supported | |||
| Rule 5.8 (Req) | Supported | |||
| Rule 5.9 (Adv) | Supported | |||
| Rule 5.10 (Req) | Supported | |||
| Rule 6.1 (Req) | Supported | |||
| Rule 6.2 (Req) | Supported | |||
| Rule 6.3 (Req) | Supported | |||
| Rule 7.1 (Req) | Supported | |||
| Rule 7.2 (Req) | Supported | |||
| Rule 7.3 (Req) | Supported | |||
| Rule 7.4 (Req) | Supported | |||
| Rule 7.5 (Mand) | Supported | |||
| Rule 7.6 (Req) | Supported | |||
| Rule 8.1 (Req) | Partially supported5 | |||
| Rule 8.2 (Req) | Supported | |||
| Rule 8.3 (Req) | Supported | |||
| Rule 8.4 (Req) | Supported | |||
| Rule 8.5 (Req) | Supported | |||
| Rule 8.6 (Req) | Supported | |||
| Rule 8.7 (Adv) | Supported | |||
| Rule 8.8 (Req) | Supported | |||
| Rule 8.9 (Adv) | Supported | |||
| Rule 8.10 (Req) | Supported | |||
| Rule 8.11 (Adv) | Supported | |||
| Rule 8.12 (Req) | Supported | |||
| Rule 8.13 (Adv*) | Supported | |||
| Rule 8.14 (Req) | Supported | |||
| Rule 8.15 (Req) | Partially supported6 | |||
| Rule 8.16 (Adv) | Supported | |||
| Rule 8.17 (Adv) | Supported | |||
| Rule 8.18 (Req) | Not supported |
|
||
| Rule 8.19 (Adv) | Not supported |
|
||
| Rule 9.1 (Mand*) | Supported | |||
| Rule 9.2 (Req) | Supported | |||
| Rule 9.3 (Req) | Supported | |||
| Rule 9.4 (Req) | Supported | |||
| Rule 9.5 (Req) | Supported | |||
| Rule 9.6 (Req) | Supported | |||
| Rule 9.7 (Mand*) | Not supported |
|
||
| Rule 10.1 (Req) | Supported | |||
| Rule 10.2 (Req) | Supported | |||
| Rule 10.3 (Req) | Supported | |||
| Rule 10.4 (Req) | Supported | |||
| Rule 10.5 (Adv) | Supported | |||
| Rule 10.6 (Req) | Supported | |||
| Rule 10.7 (Req) | Supported | |||
| Rule 10.8 (Req) | Supported | |||
| Rule 11.1 (Req) | Supported | |||
| Rule 11.2 (Req) | Supported | |||
| Rule 11.3 (Req) | Supported | |||
| Rule 11.4 (Req) | Partially supported7 | |||
| Rule 11.5 (Adv) | Partially supported8 | |||
| Rule 11.6 (Req) | Partially supported9 | |||
| Rule 11.8 (Req) | Supported | |||
| Rule 11.9 (Req) | Supported | |||
| Rule 11.10 (Req) | Supported | ?? |
||
| Rule 11.11 (Req) | Partially supported10 | |||
| Rule 12.1 (Adv) | Supported | |||
| Rule 12.2 (Req*) | Supported | |||
| Rule 12.3 (Adv) | Supported | |||
| Rule 12.4 (Adv) | Supported | |||
| Rule 12.5 (Mand) | Supported | |||
| Rule 12.6 (Req) | Supported | |||
| Rule 13.1 (Req*) | Supported | |||
| Rule 13.2 (Req*) | Supported | |||
| Rule 13.3 (Adv) | Supported | |||
| Rule 13.4 (Adv) | Supported | |||
| Rule 13.5 (Req*) | Supported | |||
| Rule 13.6 (Req) | Partially supported11 | |||
| Rule 14.1 (Req*) | Supported | |||
| Rule 14.2 (Req*) | Supported | |||
| Rule 14.3 (Req*) | Supported | |||
| Rule 14.4 (Req) | Supported | |||
| Rule 15.1 (Adv) | Supported | |||
| Rule 15.2 (Req) | Supported | |||
| Rule 15.3 (Req) | Supported | |||
| Rule 15.4 (Adv) | Supported | |||
| Rule 15.5 (Dis) | Supported |
|
||
| Rule 15.6 (Req) | Supported | |||
| Rule 15.7 (Req) | Supported | |||
| Rule 16.1 (Req) | Supported | |||
| Rule 16.2 (Req) | Supported | |||
| Rule 16.3 (Req) | Partially supported12 | |||
| Rule 16.4 (Req) | Supported | |||
| Rule 16.5 (Req) | Supported | |||
| Rule 16.6 (Req) | Supported | |||
| Rule 16.7 (Req) | Supported | |||
| Rule 17.1 (Req) | Supported | |||
| Rule 17.2 (Req*) | Supported | |||
| Rule 17.3 (Mand) | Supported | |||
| Rule 17.4 (Mand) | Supported | |||
| Rule 17.5 (Req*) | Supported | |||
| Rule 17.7 (Req) | Supported | |||
| Rule 17.8 (Adv*) | Supported | |||
| Rule 17.9 (Mand*) | Supported | |||
| Rule 17.10 (Req) | Supported | |||
| Rule 17.11 (Adv*) | Supported | |||
| Rule 17.12 (Adv) | Supported | |||
| Rule 17.13 (Req) | Supported | 2417 ?? ?? |
||
| Rule 18.1 (Req*) | Supported | |||
| Rule 18.2 (Req*) | Assistance provided13 | |||
| Rule 18.3 (Req*) | Assistance provided14 | |||
| Rule 18.4 (Adv) | Supported | |||
| Rule 18.5 (Adv) | Supported | |||
| Rule 18.6 (Req*) | Partially supported15 | |||
| Rule 18.7 (Req) | Supported | |||
| Rule 18.8 (Req) | Supported | |||
| Rule 18.9 (Req) | Supported | |||
| Rule 18.10 (Mand) | Supported | |||
| Rule 19.1 (Mand*) | Partially supported16 | |||
| Rule 19.2 (Adv) | Supported | |||
| Rule 19.3 (Req*) | Not supported |
|
||
| Rule 20.1 (Adv) | Supported | |||
| Rule 20.2 (Req) | Supported | |||
| Rule 20.3 (Req) | Supported | |||
| Rule 20.4 (Req) | Supported | |||
| Rule 20.5 (Adv) | Supported | |||
| Rule 20.6 (Req) | Supported | |||
| Rule 20.7 (Req) | Partially supported17 | |||
| Rule 20.8 (Req) | Supported | |||
| Rule 20.9 (Req) | Supported | |||
| Rule 20.10 (Adv) | Supported | |||
| Rule 20.11 (Req) | Supported | |||
| Rule 20.12 (Req) | Supported | |||
| Rule 20.13 (Req) | Supported | |||
| Rule 20.14 (Req) | Supported | |||
| Rule 20.15 (Req) | Supported | |||
| Rule 21.3 (Req) | Supported | |||
| Rule 21.4 (Req) | Supported | |||
| Rule 21.5 (Req) | Supported | |||
| Rule 21.6 (Req) | Supported | |||
| Rule 21.7 (Req) | Supported | |||
| Rule 21.8 (Req) | Supported | |||
| Rule 21.9 (Req) | Supported | |||
| Rule 21.10 (Req) | Supported | |||
| Rule 21.11 (Adv) | Supported | |||
| Rule 21.12 (Req) | Supported | |||
| Rule 21.13 (Mand*) | Supported | |||
| Rule 21.14 (Req*) | Not supported |
|
||
| Rule 21.15 (Req) | Supported | |||
| Rule 21.16 (Req) | Supported | |||
| Rule 21.17 (Mand*) | Supported | |||
| Rule 21.18 (Mand*) | Supported | |||
| Rule 21.19 (Mand) | Supported | |||
| Rule 21.20 (Mand*) | Supported | |||
| Rule 21.21 (Req) | Supported | |||
| Rule 21.22 (Mand) | Supported | |||
| Rule 21.23 (Req) | Supported | |||
| Rule 21.24 (Req) | Supported | |||
| Rule 21.25 (Req) | Not supported |
|
||
| Rule 21.26 (Req*) | Not supported |
|
||
| Rule 22.1 (Req*) | Supported | |||
| Rule 22.2 (Mand*) | Supported | |||
| Rule 22.3 (Req*) | Not supported |
|
||
| Rule 22.4 (Mand*) | Supported | |||
| Rule 22.5 (Mand*) | Supported | |||
| Rule 22.6 (Mand*) | Supported | |||
| Rule 22.7 (Req*) | Not supported |
|
||
| Rule 22.8 (Req*) | Not supported |
|
||
| Rule 22.9 (Req*) | Not supported |
|
||
| Rule 22.10 (Req*) | Not supported |
|
||
| Rule 22.11 (Req*) | Not supported |
|
||
| Rule 22.12 (Mand*) | Not supported |
|
||
| Rule 22.13 (Req) | Supported | |||
| Rule 22.14 (Mand*) | Assistance provided18 | |||
| Rule 22.15 (Req*) | Not supported |
|
||
| Rule 22.16 (Req*) | Supported | |||
| Rule 22.17 (Req*) | Partially supported19 | |||
| Rule 22.18 (Req*) | Supported | |||
| Rule 22.19 (Req*) | Not supported |
|
||
| Rule 22.20 (Mand*) | Not supported |
|
||
| Rule 23.1 (Adv) | Supported | |||
| Rule 23.2 (Req) | Supported | |||
| Rule 23.3 (Adv) | Supported | |||
| Rule 23.4 (Req) | Supported | |||
| Rule 23.5 (Adv) | Supported | |||
| Rule 23.6 (Req) | Supported | |||
| Rule 23.7 (Adv) | Supported | |||
| Rule 23.8 (Req) | Supported | |||
1The exemption for bit-fields is not currently honored
2All calls to the thrd_create function are reported
3PC-lint Plus will warn about many, but not all, undefined/unspecified behaviors
4Non-identical name clashes between macro names and symbol names are not reported
5Function declarations without a parameter list are not reported
6Differences are only reported if the alignment values or types are different
7Conversions involving intptr_t and uintptr_t are always reported
8Conversions of pointers returned by Standard Library memory allocation functions are falsely reported
9Conversions between a pointer to void and object of type intptr_t/uintptr_t are falsely reported
10Only pointers used in conjunction with a logical operator are reported
11Potential side effects of evaluating a variable-length array type in a sizeof expression are not diagnosed
12Switch cases terminated by control flow statements other than break will be falsely reported
13All pointer subtraction operations are reported
14All relational operators involving pointers are reported
15Objects with thread-local storage are not reported
16Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
17Only expressions that involve binary operators are reported
18Reports incompletely initialized mutexes
19Reports unlocking mutexes that were not previously locked and passing unlocked mutexes to functions that require locked
mutexes
| Supported | 199 | 92.1% |
| Comprehensive | 186 | 86.1% |
| Partial | 10 | 4.6% |
| Assistance | 3 | 1.4% |
| Not Supported | 17 | 7.9% |
| Not Statically Checkable | 5 |
|
| TOTAL | 221 |
|
| Dir 1.1 (Req) | Not statically checkable |
|
||
| Dir 2.1 (Req) | Supported |
|
||
| Dir 3.1 (Req) | Not statically checkable |
|
||
| Dir 4.1 (Req) | Not statically checkable |
|
||
| Dir 4.2 (Adv) | Not statically checkable |
|
||
| Dir 4.3 (Req) | Supported | |||
| Dir 4.4 (Adv) | Supported | |||
| Dir 4.5 (Adv) | Supported | |||
| Dir 4.6 (Adv) | Partially supported1 | |||
| Dir 4.7 (Req) | Supported | |||
| Dir 4.8 (Adv) | Supported | |||
| Dir 4.9 (Adv) | Supported | |||
| Dir 4.10 (Req) | Supported | |||
| Dir 4.11 (Req) | Supported | |||
| Dir 4.12 (Req) | Supported | |||
| Dir 4.13 (Adv) | Supported | 429 449 454 455 456 459 460 461 593 815 2434 2461 2462 2471 2474 2475 2476 2477 2478 2479 2492 2493 |
||
| Dir 4.14 (Req) | Not supported |
|
||
| Dir 4.15 (Req) | Not supported |
|
||
| Dir 5.1 (Req) | Supported | |||
| Dir 5.2 (Req) | Supported | |||
| Dir 5.3 (Req) | Partially supported2 | |||
| Rule 1.1 (Req) | Supported | |||
| Rule 1.2 (Adv*) | Not statically checkable |
|
||
| Rule 1.3 (Req*) | Partially supported3 | 1 2 31 34 40 54 86 115 401 413 414 419 437 449 466 491 498 557 558 566 576 606 629 705 706 707 719 783 792 816 931 972 975 1013 1107 2402 2405 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9423 9443 |
||
| Rule 1.4 (Req) | Supported | |||
| Rule 1.5 (Req*) | Not supported |
|
||
| Rule 2.1 (Req*) | Supported | |||
| Rule 2.2 (Req*) | Supported | |||
| Rule 2.3 (Adv) | Supported | |||
| Rule 2.4 (Adv) | Supported | |||
| Rule 2.5 (Adv) | Supported | |||
| Rule 2.6 (Adv) | Supported | |||
| Rule 2.7 (Adv) | Supported | |||
| Rule 2.8 (Adv) | Supported | |||
| Rule 3.1 (Req) | Supported | |||
| Rule 3.2 (Req) | Supported | |||
| Rule 4.1 (Req) | Supported | |||
| Rule 4.2 (Adv) | Supported | |||
| Rule 5.1 (Req) | Supported | |||
| Rule 5.2 (Req) | Supported | |||
| Rule 5.3 (Req) | Supported | |||
| Rule 5.4 (Req) | Supported | |||
| Rule 5.5 (Req) | Partially supported4 | |||
| Rule 5.6 (Req) | Supported | |||
| Rule 5.7 (Req) | Supported | |||
| Rule 5.8 (Req) | Supported | |||
| Rule 5.9 (Adv) | Supported | |||
| Rule 6.1 (Req) | Supported | |||
| Rule 6.2 (Req) | Supported | |||
| Rule 6.3 (Req) | Supported | |||
| Rule 7.1 (Req) | Supported | |||
| Rule 7.2 (Req) | Supported | |||
| Rule 7.3 (Req) | Supported | |||
| Rule 7.4 (Req) | Supported | |||
| Rule 7.5 (Mand) | Supported | |||
| Rule 7.6 (Req) | Supported | |||
| Rule 8.1 (Req) | Partially supported5 | |||
| Rule 8.2 (Req) | Supported | |||
| Rule 8.3 (Req) | Supported | |||
| Rule 8.4 (Req) | Supported | |||
| Rule 8.5 (Req) | Supported | |||
| Rule 8.6 (Req) | Supported | |||
| Rule 8.7 (Adv) | Supported | |||
| Rule 8.8 (Req) | Supported | |||
| Rule 8.9 (Adv) | Supported | |||
| Rule 8.10 (Req) | Supported | |||
| Rule 8.11 (Adv) | Supported | |||
| Rule 8.12 (Req) | Supported | |||
| Rule 8.13 (Adv*) | Supported | |||
| Rule 8.14 (Req) | Supported | |||
| Rule 8.15 (Req) | Partially supported6 | |||
| Rule 8.16 (Adv) | Supported | |||
| Rule 8.17 (Adv) | Supported | |||
| Rule 9.1 (Mand*) | Supported | |||
| Rule 9.2 (Req) | Supported | |||
| Rule 9.3 (Req) | Supported | |||
| Rule 9.4 (Req) | Supported | |||
| Rule 9.5 (Req) | Supported | |||
| Rule 9.6 (Req) | Supported | |||
| Rule 9.7 (Mand*) | Not supported |
|
||
| Rule 10.1 (Req) | Supported | |||
| Rule 10.2 (Req) | Supported | |||
| Rule 10.3 (Req) | Supported | |||
| Rule 10.4 (Req) | Supported | |||
| Rule 10.5 (Adv) | Supported | |||
| Rule 10.6 (Req) | Supported | |||
| Rule 10.7 (Req) | Supported | |||
| Rule 10.8 (Req) | Supported | |||
| Rule 11.1 (Req) | Supported | |||
| Rule 11.2 (Req) | Supported | |||
| Rule 11.3 (Req) | Supported | |||
| Rule 11.4 (Adv) | Supported | |||
| Rule 11.5 (Adv) | Supported | |||
| Rule 11.6 (Req) | Supported | |||
| Rule 11.7 (Req) | Supported | |||
| Rule 11.8 (Req) | Supported | |||
| Rule 11.9 (Req) | Supported | |||
| Rule 11.10 (Req) | Supported | ?? |
||
| Rule 12.1 (Adv) | Supported | |||
| Rule 12.2 (Req*) | Supported | |||
| Rule 12.3 (Adv) | Supported | |||
| Rule 12.4 (Adv) | Supported | |||
| Rule 12.5 (Mand) | Supported | |||
| Rule 12.6 (Req) | Supported | |||
| Rule 13.1 (Req*) | Supported | |||
| Rule 13.2 (Req*) | Supported | |||
| Rule 13.3 (Adv) | Supported | |||
| Rule 13.4 (Adv) | Supported | |||
| Rule 13.5 (Req*) | Supported | |||
| Rule 13.6 (Req) | Partially supported7 | |||
| Rule 14.1 (Req*) | Supported | |||
| Rule 14.2 (Req*) | Supported | |||
| Rule 14.3 (Req*) | Supported | |||
| Rule 14.4 (Req) | Supported | |||
| Rule 15.1 (Adv) | Supported | |||
| Rule 15.2 (Req) | Supported | |||
| Rule 15.3 (Req) | Supported | |||
| Rule 15.4 (Adv) | Supported | |||
| Rule 15.5 (Adv) | Supported | |||
| Rule 15.6 (Req) | Supported | |||
| Rule 15.7 (Req) | Supported | |||
| Rule 16.1 (Req) | Supported | |||
| Rule 16.2 (Req) | Supported | |||
| Rule 16.3 (Req) | Supported | |||
| Rule 16.4 (Req) | Supported | |||
| Rule 16.5 (Req) | Supported | |||
| Rule 16.6 (Req) | Supported | |||
| Rule 16.7 (Req) | Supported | |||
| Rule 17.1 (Req) | Supported | |||
| Rule 17.2 (Req*) | Supported | |||
| Rule 17.3 (Mand) | Supported | |||
| Rule 17.4 (Mand) | Supported | |||
| Rule 17.5 (Req*) | Supported | |||
| Rule 17.6 (Mand) | Supported | |||
| Rule 17.7 (Req) | Supported | |||
| Rule 17.8 (Adv*) | Supported | |||
| Rule 17.9 (Mand*) | Supported | |||
| Rule 17.10 (Req) | Supported | |||
| Rule 17.11 (Adv*) | Supported | |||
| Rule 17.12 (Adv) | Supported | |||
| Rule 17.13 (Req) | Supported | 2417 ?? ?? |
||
| Rule 18.1 (Req*) | Supported | |||
| Rule 18.2 (Req*) | Assistance provided8 | |||
| Rule 18.3 (Req*) | Assistance provided9 | |||
| Rule 18.4 (Adv) | Supported | |||
| Rule 18.5 (Adv) | Supported | |||
| Rule 18.6 (Req*) | Supported | |||
| Rule 18.7 (Req) | Supported | |||
| Rule 18.8 (Req) | Supported | |||
| Rule 18.9 (Req) | Supported | |||
| Rule 18.10 (Mand) | Supported | |||
| Rule 19.1 (Mand*) | Partially supported10 | |||
| Rule 19.2 (Adv) | Supported | |||
| Rule 20.1 (Adv) | Supported | |||
| Rule 20.2 (Req) | Supported | |||
| Rule 20.3 (Req) | Supported | |||
| Rule 20.4 (Req) | Supported | |||
| Rule 20.5 (Adv) | Supported | |||
| Rule 20.6 (Req) | Supported | |||
| Rule 20.7 (Req) | Partially supported11 | |||
| Rule 20.8 (Req) | Supported | |||
| Rule 20.9 (Req) | Supported | |||
| Rule 20.10 (Adv) | Supported | |||
| Rule 20.11 (Req) | Supported | |||
| Rule 20.12 (Req) | Supported | |||
| Rule 20.13 (Req) | Supported | |||
| Rule 20.14 (Req) | Supported | |||
| Rule 21.1 (Req) | Supported | |||
| Rule 21.2 (Req) | Supported | |||
| Rule 21.3 (Req) | Supported | |||
| Rule 21.4 (Req) | Supported | |||
| Rule 21.5 (Req) | Supported | |||
| Rule 21.6 (Req) | Supported | |||
| Rule 21.7 (Req) | Supported | |||
| Rule 21.8 (Req) | Supported | |||
| Rule 21.9 (Req) | Supported | |||
| Rule 21.10 (Req) | Supported | |||
| Rule 21.11 (Adv) | Supported | |||
| Rule 21.12 (Req) | Supported | |||
| Rule 21.13 (Mand*) | Supported | |||
| Rule 21.14 (Req*) | Not supported |
|
||
| Rule 21.15 (Req) | Supported | |||
| Rule 21.16 (Req) | Supported | |||
| Rule 21.17 (Mand*) | Supported | |||
| Rule 21.18 (Mand*) | Supported | |||
| Rule 21.19 (Mand) | Supported | |||
| Rule 21.20 (Mand*) | Supported | |||
| Rule 21.21 (Req) | Supported | |||
| Rule 21.22 (Mand) | Supported | |||
| Rule 21.23 (Req) | Supported | |||
| Rule 21.24 (Req) | Supported | |||
| Rule 21.25 (Req) | Not supported |
|
||
| Rule 21.26 (Req*) | Not supported |
|
||
| Rule 22.1 (Req*) | Supported | |||
| Rule 22.2 (Mand*) | Supported | |||
| Rule 22.3 (Req*) | Not supported |
|
||
| Rule 22.4 (Mand*) | Supported | |||
| Rule 22.5 (Mand*) | Supported | |||
| Rule 22.6 (Mand*) | Supported | |||
| Rule 22.7 (Req*) | Not supported |
|
||
| Rule 22.8 (Req*) | Not supported |
|
||
| Rule 22.9 (Req*) | Not supported |
|
||
| Rule 22.10 (Req*) | Not supported |
|
||
| Rule 22.11 (Req*) | Not supported |
|
||
| Rule 22.12 (Mand*) | Not supported |
|
||
| Rule 22.13 (Req) | Supported | |||
| Rule 22.14 (Mand*) | Assistance provided12 | |||
| Rule 22.15 (Req*) | Not supported |
|
||
| Rule 22.16 (Req*) | Supported | |||
| Rule 22.17 (Req*) | Partially supported13 | |||
| Rule 22.18 (Req*) | Supported | |||
| Rule 22.19 (Req*) | Not supported |
|
||
| Rule 22.20 (Mand*) | Not supported |
|
||
| Rule 23.1 (Adv) | Supported | |||
| Rule 23.2 (Req) | Supported | |||
| Rule 23.3 (Adv) | Supported | |||
| Rule 23.4 (Req) | Supported | |||
| Rule 23.5 (Adv) | Supported | |||
| Rule 23.6 (Req) | Supported | |||
| Rule 23.7 (Adv) | Supported | |||
| Rule 23.8 (Req) | Supported | |||
1The exemption for bit-fields is not currently honored
2All calls to the thrd_create function are reported
3PC-lint Plus will warn about many, but not all, undefined/unspecified behaviors
4Non-identical name clashes between macro names and symbol names are not reported
5Function declarations without a parameter list are not reported
6Differences are only reported if the alignment values or types are different
7Potential side effects of evaluating a variable-length array type in a sizeof expression are not diagnosed
8All pointer subtraction operations are reported
9All relational operators involving pointers are reported
10Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
11Only expressions that involve binary operators are reported
12Reports incompletely initialized mutexes
13Reports unlocking mutexes that were not previously locked and passing unlocked mutexes to functions that require locked
mutexes
| Supported | 153 | 99.4% |
| Comprehensive | 144 | 93.5% |
| Partial | 7 | 4.5% |
| Assistance | 2 | 1.3% |
| Not Supported | 1 | 0.6% |
| Not Statically Checkable | 5 |
|
| TOTAL | 159 |
|
| Dir 1.1 (Req) | Not statically checkable |
|
||
| Dir 2.1 (Req) | Supported |
|
||
| Dir 3.1 (Req) | Not statically checkable |
|
||
| Dir 4.1 (Req) | Not statically checkable |
|
||
| Dir 4.2 (Adv) | Not statically checkable |
|
||
| Dir 4.3 (Req) | Supported | |||
| Dir 4.4 (Adv) | Supported | |||
| Dir 4.5 (Adv) | Supported | |||
| Dir 4.6 (Adv) | Partially supported1 | |||
| Dir 4.7 (Req) | Supported | |||
| Dir 4.8 (Adv) | Supported | |||
| Dir 4.9 (Adv) | Supported | |||
| Dir 4.10 (Req) | Supported | |||
| Dir 4.11 (Req) | Supported | |||
| Dir 4.12 (Req) | Supported | |||
| Dir 4.13 (Adv) | Supported | 429 449 454 455 456 459 460 461 593 815 2434 2461 2462 2471 2474 2475 2476 2477 2478 2479 2492 2493 |
||
| Rule 1.1 (Req) | Supported | |||
| Rule 1.2 (Adv*) | Not statically checkable |
|
||
| Rule 1.3 (Req*) | Partially supported2 | 1 2 31 34 40 54 86 115 401 413 414 419 437 449 466 491 498 557 558 566 576 606 629 705 706 707 719 783 792 816 931 972 975 1013 1107 2402 2405 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9423 9443 |
||
| Rule 2.1 (Req*) | Supported | |||
| Rule 2.2 (Req*) | Supported | |||
| Rule 2.3 (Adv) | Supported | |||
| Rule 2.4 (Adv) | Supported | |||
| Rule 2.5 (Adv) | Supported | |||
| Rule 2.6 (Adv) | Supported | |||
| Rule 2.7 (Adv) | Supported | |||
| Rule 3.1 (Req) | Supported | |||
| Rule 3.2 (Req) | Supported | |||
| Rule 4.1 (Req) | Supported | |||
| Rule 4.2 (Adv) | Supported | |||
| Rule 5.1 (Req) | Supported | |||
| Rule 5.2 (Req) | Supported | |||
| Rule 5.3 (Req) | Supported | |||
| Rule 5.4 (Req) | Supported | |||
| Rule 5.5 (Req) | Partially supported3 | |||
| Rule 5.6 (Req) | Supported | |||
| Rule 5.7 (Req) | Supported | |||
| Rule 5.8 (Req) | Supported | |||
| Rule 5.9 (Adv) | Supported | |||
| Rule 6.1 (Req) | Supported | |||
| Rule 6.2 (Req) | Supported | |||
| Rule 7.1 (Req) | Supported | |||
| Rule 7.2 (Req) | Supported | |||
| Rule 7.3 (Req) | Supported | |||
| Rule 7.4 (Req) | Supported | |||
| Rule 8.1 (Req) | Partially supported4 | |||
| Rule 8.2 (Req) | Supported | |||
| Rule 8.3 (Req) | Supported | |||
| Rule 8.4 (Req) | Supported | |||
| Rule 8.5 (Req) | Supported | |||
| Rule 8.6 (Req) | Supported | |||
| Rule 8.7 (Adv) | Supported | |||
| Rule 8.8 (Req) | Supported | |||
| Rule 8.9 (Adv) | Supported | |||
| Rule 8.10 (Req) | Supported | |||
| Rule 8.11 (Adv) | Supported | |||
| Rule 8.12 (Req) | Supported | |||
| Rule 8.13 (Adv*) | Supported | |||
| Rule 8.14 (Req) | Supported | |||
| Rule 9.1 (Mand*) | Supported | |||
| Rule 9.2 (Req) | Supported | |||
| Rule 9.3 (Req) | Supported | |||
| Rule 9.4 (Req) | Supported | |||
| Rule 9.5 (Req) | Supported | |||
| Rule 10.1 (Req) | Supported | |||
| Rule 10.2 (Req) | Supported | |||
| Rule 10.3 (Req) | Supported | |||
| Rule 10.4 (Req) | Supported | |||
| Rule 10.5 (Adv) | Supported | |||
| Rule 10.6 (Req) | Supported | |||
| Rule 10.7 (Req) | Supported | |||
| Rule 10.8 (Req) | Supported | |||
| Rule 11.1 (Req) | Supported | |||
| Rule 11.2 (Req) | Supported | |||
| Rule 11.3 (Req) | Supported | |||
| Rule 11.4 (Adv) | Supported | |||
| Rule 11.5 (Adv) | Supported | |||
| Rule 11.6 (Req) | Supported | |||
| Rule 11.7 (Req) | Supported | |||
| Rule 11.8 (Req) | Supported | |||
| Rule 11.9 (Req) | Supported | |||
| Rule 12.1 (Adv) | Supported | |||
| Rule 12.2 (Req*) | Supported | |||
| Rule 12.3 (Adv) | Supported | |||
| Rule 12.4 (Adv) | Supported | |||
| Rule 13.1 (Req*) | Supported | |||
| Rule 13.2 (Req*) | Supported | |||
| Rule 13.3 (Adv) | Supported | |||
| Rule 13.4 (Adv) | Supported | |||
| Rule 13.5 (Req*) | Supported | |||
| Rule 13.6 (Req) | Partially supported5 | |||
| Rule 14.1 (Req*) | Supported | |||
| Rule 14.2 (Req*) | Supported | |||
| Rule 14.3 (Req*) | Supported | |||
| Rule 14.4 (Req) | Supported | |||
| Rule 15.1 (Adv) | Supported | |||
| Rule 15.2 (Req) | Supported | |||
| Rule 15.3 (Req) | Supported | |||
| Rule 15.4 (Adv) | Supported | |||
| Rule 15.5 (Adv) | Supported | |||
| Rule 15.6 (Req) | Supported | |||
| Rule 15.7 (Req) | Supported | |||
| Rule 16.1 (Req) | Supported | |||
| Rule 16.2 (Req) | Supported | |||
| Rule 16.3 (Req) | Supported | |||
| Rule 16.4 (Req) | Supported | |||
| Rule 16.5 (Req) | Supported | |||
| Rule 16.6 (Req) | Supported | |||
| Rule 16.7 (Req) | Supported | |||
| Rule 17.1 (Req) | Supported | |||
| Rule 17.2 (Req*) | Supported | |||
| Rule 17.3 (Mand) | Supported | |||
| Rule 17.4 (Mand) | Supported | |||
| Rule 17.5 (Req*) | Supported | |||
| Rule 17.6 (Mand) | Supported | |||
| Rule 17.7 (Req) | Supported | |||
| Rule 17.8 (Adv*) | Supported | |||
| Rule 18.1 (Req*) | Supported | |||
| Rule 18.2 (Req*) | Assistance provided6 | |||
| Rule 18.3 (Req*) | Assistance provided7 | |||
| Rule 18.4 (Adv) | Supported | |||
| Rule 18.5 (Adv) | Supported | |||
| Rule 18.6 (Req*) | Supported | |||
| Rule 18.7 (Req) | Supported | |||
| Rule 18.8 (Req) | Supported | |||
| Rule 19.1 (Mand*) | Partially supported8 | |||
| Rule 19.2 (Adv) | Supported | |||
| Rule 20.1 (Adv) | Supported | |||
| Rule 20.2 (Req) | Supported | |||
| Rule 20.3 (Req) | Supported | |||
| Rule 20.4 (Req) | Supported | |||
| Rule 20.5 (Adv) | Supported | |||
| Rule 20.6 (Req) | Supported | |||
| Rule 20.7 (Req) | Partially supported9 | |||
| Rule 20.8 (Req) | Supported | |||
| Rule 20.9 (Req) | Supported | |||
| Rule 20.10 (Adv) | Supported | |||
| Rule 20.11 (Req) | Supported | |||
| Rule 20.12 (Req) | Supported | |||
| Rule 20.13 (Req) | Supported | |||
| Rule 20.14 (Req) | Supported | |||
| Rule 21.1 (Req) | Supported | |||
| Rule 21.2 (Req) | Supported | |||
| Rule 21.3 (Req) | Supported | |||
| Rule 21.4 (Req) | Supported | |||
| Rule 21.5 (Req) | Supported | |||
| Rule 21.6 (Req) | Supported | |||
| Rule 21.7 (Req) | Supported | |||
| Rule 21.8 (Req) | Supported | |||
| Rule 21.9 (Req) | Supported | |||
| Rule 21.10 (Req) | Supported | |||
| Rule 21.11 (Adv) | Supported | |||
| Rule 21.12 (Req) | Supported | |||
| Rule 22.1 (Req*) | Supported | |||
| Rule 22.2 (Mand*) | Supported | |||
| Rule 22.3 (Req*) | Not supported |
|
||
| Rule 22.4 (Mand*) | Supported | |||
| Rule 22.5 (Mand*) | Supported | |||
| Rule 22.6 (Mand*) | Supported | |||
1The exemption for bit-fields is not currently honored
2PC-lint Plus will warn about many, but not all, undefined/unspecified behaviors
3Non-identical name clashes between macro names and symbol names are not reported
4Function declarations without a parameter list are not reported
5Potential side effects of evaluating a variable-length array type in a sizeof expression are not diagnosed
6All pointer subtraction operations are reported
7All relational operators involving pointers are reported
8Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
9Only expressions that involve binary operators are reported
| Supported | 8 | 57.1% |
| Comprehensive | 8 | 57.1% |
| Partial | 0 | 0.0% |
| Assistance | 0 | 0.0% |
| Not Supported | 6 | 42.9% |
| Not Statically Checkable | 0 |
|
| TOTAL | 14 |
|
| Dir 4.14 (Req) | Not supported |
|
||
| Rule 12.5 (Mand) | Supported | |||
| Rule 21.13 (Mand*) | Supported | |||
| Rule 21.14 (Req*) | Not supported |
|
||
| Rule 21.15 (Req) | Supported | |||
| Rule 21.16 (Req) | Supported | |||
| Rule 21.17 (Mand*) | Supported | |||
| Rule 21.18 (Mand*) | Supported | |||
| Rule 21.19 (Mand) | Supported | |||
| Rule 21.20 (Mand*) | Supported | |||
| Rule 22.7 (Req*) | Not supported |
|
||
| Rule 22.8 (Req*) | Not supported |
|
||
| Rule 22.9 (Req*) | Not supported |
|
||
| Rule 22.10 (Req*) | Not supported |
|
||
| Supported | 4 | 100.0% |
| Comprehensive | 4 | 100.0% |
| Partial | 0 | 0.0% |
| Assistance | 0 | 0.0% |
| Not Supported | 0 | 0.0% |
| Not Statically Checkable | 0 |
|
| TOTAL | 4 |
|
| Rule 1.4 (Req) | Supported | |||
| Rule 21.3 (Req) | Supported | |||
| Rule 21.8 (Req) | Supported | |||
| Rule 21.21 (Req) | Supported | |||
| Supported | 22 | 91.7% |
| Comprehensive | 21 | 87.5% |
| Partial | 1 | 4.2% |
| Assistance | 0 | 0.0% |
| Not Supported | 2 | 8.3% |
| Not Statically Checkable | 0 |
|
| TOTAL | 24 |
|
| Dir 4.15 (Req) | Not supported |
|
||
| Rule 1.5 (Req*) | Not supported |
|
||
| Rule 6.3 (Req) | Supported | |||
| Rule 7.5 (Mand) | Supported | |||
| Rule 8.15 (Req) | Partially supported1 | |||
| Rule 8.16 (Adv) | Supported | |||
| Rule 8.17 (Adv) | Supported | |||
| Rule 17.9 (Mand*) | Supported | |||
| Rule 17.10 (Req) | Supported | |||
| Rule 17.11 (Adv*) | Supported | |||
| Rule 17.12 (Adv) | Supported | |||
| Rule 17.13 (Req) | Supported | 2417 ?? ?? |
||
| Rule 18.9 (Req) | Supported | |||
| Rule 21.22 (Mand) | Supported | |||
| Rule 21.23 (Req) | Supported | |||
| Rule 21.24 (Req) | Supported | |||
| Rule 23.1 (Adv) | Supported | |||
| Rule 23.2 (Req) | Supported | |||
| Rule 23.3 (Adv) | Supported | |||
| Rule 23.4 (Req) | Supported | |||
| Rule 23.5 (Adv) | Supported | |||
| Rule 23.6 (Req) | Supported | |||
| Rule 23.7 (Adv) | Supported | |||
| Rule 23.8 (Req) | Supported | |||
1Differences are only reported if the alignment values or types are different
| Supported | 14 | 63.6% |
| Comprehensive | 11 | 50.0% |
| Partial | 2 | 9.1% |
| Assistance | 1 | 4.5% |
| Not Supported | 8 | 36.4% |
| Not Statically Checkable | 0 |
|
| TOTAL | 22 |
|
| Dir 5.1 (Req) | Supported | |||
| Dir 5.2 (Req) | Supported | |||
| Dir 5.3 (Req) | Partially supported1 | |||
| Rule 2.8 (Adv) | Supported | |||
| Rule 7.6 (Req) | Supported | |||
| Rule 9.6 (Req) | Supported | |||
| Rule 9.7 (Mand*) | Not supported |
|
||
| Rule 11.10 (Req) | Supported | ?? |
||
| Rule 12.6 (Req) | Supported | |||
| Rule 18.10 (Mand) | Supported | |||
| Rule 21.25 (Req) | Not supported |
|
||
| Rule 21.26 (Req*) | Not supported |
|
||
| Rule 22.11 (Req*) | Not supported |
|
||
| Rule 22.12 (Mand*) | Not supported |
|
||
| Rule 22.13 (Req) | Supported | |||
| Rule 22.14 (Mand*) | Assistance provided2 | |||
| Rule 22.15 (Req*) | Not supported |
|
||
| Rule 22.16 (Req*) | Supported | |||
| Rule 22.17 (Req*) | Partially supported3 | |||
| Rule 22.18 (Req*) | Supported | |||
| Rule 22.19 (Req*) | Not supported |
|
||
| Rule 22.20 (Mand*) | Not supported |
|
||
1All calls to the thrd_create function are reported
2Reports incompletely initialized mutexes
3Reports unlocking mutexes that were not previously locked and passing unlocked mutexes to functions that require locked
mutexes
| Supported | 162 | 91.5% |
| Comprehensive | 139 | 78.5% |
| Partial | 21 | 11.9% |
| Assistance | 2 | 1.1% |
| Not Supported | 15 | 8.5% |
| Not Statically Checkable | 2 |
|
| TOTAL | 179 |
|
| Rule 0.0.1 (Req) | Supported | |||
| Rule 0.0.2 (Adv*) | Supported | |||
| Rule 0.1.1 (Adv*) | Supported | |||
| Rule 0.1.2 (Req) | Supported | |||
| Rule 0.2.1 (Adv) | Partially supported1 | |||
| Rule 0.2.2 (Req) | Supported | |||
| Rule 0.2.3 (Adv) | Not supported2 |
|
||
| Rule 0.2.4 (Adv) | Supported | |||
| Dir 0.3.1 (Adv) | Not statically checkable |
|
||
| Dir 0.3.2 (Req) | Not statically checkable |
|
||
| Rule 4.1.1 (Req*) | Not supported3 |
|
||
| Rule 4.1.2 (Adv) | Partially supported4 | |||
| Rule 4.1.3 (Req*) | Not supported5 |
|
||
| Rule 4.6.1 (Req*) | Supported | |||
| Rule 5.0.1 (Adv) | Supported | |||
| Rule 5.7.1 (Req) | Supported | |||
| Dir 5.7.2 (Adv) | Supported | |||
| Rule 5.7.3 (Req) | Supported | |||
| Rule 5.10.1 (Req) | Not supported6 |
|
||
| Rule 5.13.1 (Req) | Supported | |||
| Rule 5.13.2 (Req) | Supported | |||
| Rule 5.13.3 (Req) | Supported | |||
| Rule 5.13.4 (Req) | Supported | |||
| Rule 5.13.5 (Req) | Supported | |||
| Rule 5.13.6 (Req) | Supported | |||
| Rule 5.13.7 (Req) | Supported | |||
| Rule 6.0.1 (Req) | Partially supported7 | |||
| Rule 6.0.2 (Adv) | Supported | |||
| Rule 6.0.3 (Adv) | Supported | |||
| Rule 6.0.4 (Req) | Supported | |||
| Rule 6.2.1 (Req) | Partially supported8 | |||
| Rule 6.2.2 (Req) | Not supported9 |
|
||
| Rule 6.2.3 (Req) | Not supported10 |
|
||
| Rule 6.2.4 (Req) | Supported | |||
| Rule 6.4.1 (Req) | Partially supported11 | |||
| Rule 6.4.2 (Req) | Supported | |||
| Rule 6.4.3 (Req) | Supported | |||
| Rule 6.5.1 (Adv) | Partially supported12 | |||
| Rule 6.5.2 (Adv) | Supported | |||
| Rule 6.7.1 (Req) | Supported | |||
| Rule 6.7.2 (Req) | Supported | |||
| Rule 6.8.1 (Req*) | Supported | |||
| Rule 6.8.2 (Mand) | Partially supported13 | |||
| Rule 6.8.3 (Req) | Supported | |||
| Rule 6.8.4 (Adv) | Supported | |||
| Rule 6.9.1 (Req) | Partially supported14 | |||
| Rule 6.9.2 (Adv) | Supported | |||
| Rule 7.0.1 (Req) | Partially supported15 | |||
| Rule 7.0.2 (Req) | Supported | |||
| Rule 7.0.3 (Req) | Supported | |||
| Rule 7.0.4 (Req) | Supported | |||
| Rule 7.0.5 (Req) | Not supported16 |
|
||
| Rule 7.0.6 (Req) | Not supported17 |
|
||
| Rule 7.11.1 (Req) | Supported | |||
| Rule 7.11.2 (Req) | Supported | |||
| Rule 7.11.3 (Req) | Partially supported18 | |||
| Rule 8.0.1 (Adv) | Partially supported19 | |||
| Rule 8.1.1 (Req) | Supported | |||
| Rule 8.1.2 (Adv) | Supported | |||
| Rule 8.2.1 (Req) | Supported | |||
| Rule 8.2.2 (Req) | Supported | |||
| Rule 8.2.3 (Req) | Supported | |||
| Rule 8.2.4 (Req) | Supported | |||
| Rule 8.2.5 (Req) | Supported | |||
| Rule 8.2.6 (Req) | Supported | |||
| Rule 8.2.7 (Adv) | Supported | |||
| Rule 8.2.8 (Req) | Supported | |||
| Rule 8.2.9 (Req) | Supported | |||
| Rule 8.2.10 (Req*) | Supported | |||
| Rule 8.2.11 (Req) | Supported | ?? |
||
| Rule 8.3.1 (Adv) | Supported | |||
| Rule 8.3.2 (Adv) | Supported | |||
| Rule 8.7.1 (Req*) | Supported | |||
| Rule 8.7.2 (Req*) | Assistance provided20 | |||
| Rule 8.9.1 (Req*) | Assistance provided21 | |||
| Rule 8.14.1 (Adv*) | Supported | |||
| Rule 8.18.1 (Mand*) | Partially supported22 | |||
| Rule 8.18.2 (Adv) | Supported | |||
| Rule 8.19.1 (Adv) | Supported | |||
| Rule 8.20.1 (Adv) | Partially supported23 | |||
| Rule 9.2.1 (Req) | Supported | |||
| Rule 9.3.1 (Req) | Supported | |||
| Rule 9.4.1 (Req) | Supported | |||
| Rule 9.4.2 (Req) | Supported | |||
| Rule 9.5.1 (Adv) | Not supported24 |
|
||
| Rule 9.5.2 (Req) | Supported | |||
| Rule 9.6.1 (Adv) | Supported | |||
| Rule 9.6.2 (Req) | Supported | |||
| Rule 9.6.3 (Req) | Supported | |||
| Rule 9.6.4 (Req*) | Supported | |||
| Rule 9.6.5 (Req) | Supported | |||
| Rule 10.0.1 (Adv) | Supported | |||
| Rule 10.1.1 (Adv) | Supported | |||
| Rule 10.1.2 (Req) | Supported | |||
| Rule 10.2.1 (Req) | Supported | |||
| Rule 10.2.2 (Adv) | Supported | |||
| Rule 10.2.3 (Req) | Not supported25 |
|
||
| Rule 10.3.1 (Adv) | Supported | |||
| Rule 10.4.1 (Req) | Supported | |||
| Rule 11.3.1 (Adv) | Partially supported26 | |||
| Rule 11.3.2 (Adv) | Supported | |||
| Rule 11.6.1 (Adv) | Supported | |||
| Rule 11.6.2 (Mand*) | Supported | |||
| Rule 11.6.3 (Req) | Supported | |||
| Rule 12.2.1 (Adv) | Supported | |||
| Rule 12.2.2 (Req) | Supported | |||
| Rule 12.2.3 (Req) | Supported | |||
| Rule 12.3.1 (Req) | Supported | |||
| Rule 13.1.1 (Adv) | Supported | |||
| Rule 13.1.2 (Req) | Supported | |||
| Rule 13.3.1 (Req) | Supported | |||
| Rule 13.3.2 (Req) | Supported | |||
| Rule 13.3.3 (Req) | Partially supported27 | |||
| Rule 13.3.4 (Req) | Supported | |||
| Rule 14.1.1 (Adv) | Supported | |||
| Rule 15.0.1 (Req) | Supported | |||
| Rule 15.0.2 (Adv) | Partially supported28 | |||
| Rule 15.1.1 (Req*) | Partially supported29 | |||
| Rule 15.1.2 (Adv) | Supported | |||
| Rule 15.1.3 (Req) | Supported | |||
| Rule 15.1.4 (Adv) | Supported | |||
| Rule 15.1.5 (Req) | Supported | |||
| Dir 15.8.1 (Req) | Supported | |||
| Rule 16.5.1 (Req) | Supported | |||
| Rule 16.5.2 (Req) | Supported | |||
| Rule 16.6.1 (Adv) | Supported | |||
| Rule 17.8.1 (Req) | Supported | |||
| Rule 18.1.1 (Req) | Supported | |||
| Rule 18.1.2 (Req) | Supported | |||
| Rule 18.3.1 (Adv) | Not supported30 |
|
||
| Rule 18.3.2 (Req) | Supported | |||
| Rule 18.3.3 (Req) | Supported | |||
| Rule 18.4.1 (Req) | Supported | |||
| Rule 18.5.1 (Adv*) | Not supported31 |
|
||
| Rule 18.5.2 (Adv) | Supported | |||
| Rule 19.0.1 (Req) | Supported | |||
| Rule 19.0.2 (Req) | Supported | |||
| Rule 19.0.3 (Adv) | Supported | |||
| Rule 19.0.4 (Adv) | Supported | |||
| Rule 19.1.1 (Req) | Supported | |||
| Rule 19.1.2 (Req) | Supported | |||
| Rule 19.1.3 (Req) | Supported | |||
| Rule 19.2.1 (Req) | Supported | |||
| Rule 19.2.2 (Req) | Supported | |||
| Rule 19.2.3 (Req) | Supported | |||
| Rule 19.3.1 (Adv) | Supported | |||
| Rule 19.3.2 (Req) | Supported | |||
| Rule 19.3.3 (Req) | Supported | |||
| Rule 19.3.4 (Req) | Partially supported32 | |||
| Rule 19.3.5 (Req) | Supported | |||
| Rule 19.6.1 (Adv) | Supported | |||
| Rule 21.2.1 (Req) | Supported | |||
| Rule 21.2.2 (Req) | Supported | |||
| Rule 21.2.3 (Req) | Supported | |||
| Rule 21.2.4 (Req) | Supported | |||
| Rule 21.6.1 (Adv*) | Supported | |||
| Rule 21.6.2 (Req) | Partially supported33 | |||
| Rule 21.6.3 (Req) | Supported | |||
| Rule 21.6.4 (Req) | Supported | |||
| Rule 21.6.5 (Req) | Supported | |||
| Rule 21.10.1 (Req) | Supported | |||
| Rule 21.10.2 (Req) | Supported | |||
| Rule 21.10.3 (Req) | Supported | |||
| Rule 22.3.1 (Req) | Supported | |||
| Rule 22.4.1 (Req) | Supported | |||
| Rule 23.11.1 (Adv) | Supported | |||
| Rule 24.5.1 (Req) | Supported | |||
| Rule 24.5.2 (Req) | Supported | |||
| Rule 25.5.1 (Req) | Supported | |||
| Rule 25.5.2 (Mand) | Partially supported34 | |||
| Rule 25.5.3 (Mand*) | Supported | |||
| Rule 26.3.1 (Adv) | Supported | |||
| Rule 28.3.1 (Req*) | Not supported35 |
|
||
| Rule 28.6.1 (Req) | Supported | |||
| Rule 28.6.2 (Req) | Not supported36 |
|
||
| Rule 28.6.3 (Req) | Partially supported37 | |||
| Rule 28.6.4 (Req) | Supported | |||
| Rule 30.0.1 (Req) | Supported | |||
| Rule 30.0.2 (Req*) | Not supported38 |
|
||
1Non-local variables are not reported
2Planned for 2025 SP2
3Assistance planned for 2025 SP2
4The following uses of deprecated features are reported: the functions std::uncaught_exception, std::not1, std::not2,
std::get_temporary_buffer, and std::return_temporary_buffer; the types std::iterator, std::raw_storage_iterator, std::unary_negate,
std::binary_negate, std::wbuffer_convert, std::wstring_convert, the codecvt header; and throw exception specifications.
5Assistance planned for 2025 SP2
6Planned for 2025 SP2
7Redundant parentheses around declarators are not reported
8Multiple definitions of functions, variables and disparate tag type definitions are reported
9Planned for a future release
10Planned for a future release
11Name hiding involving data members and enumerators are not reported
12Only functions with external linkage are reported
13Functions that throw the address of automatic variables or return lambdas that capture automatic variables are not
reported
14The exception for top-level cv-qualifiers is not supported
15Boolean conversions resulting from using == and != with other types are not reported and no exception is made for bit-field
assignment
16Planned for a future release
17Planned for 2025 SP2
18Exemption for assignment of function to pointer-to-function type is not supported
19Expressions appearing in preprocessor directives are not reported
20All pointer subtraction operations are reported
21All relational operators involving pointers are reported
22Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
23Unevaluated expressions are reported
24Planned for 2025 SP2
25Planned for 2025 SP2
26No diagnostic is emitted for static constexpr data members
27Parameter name mismatches that span multiple modules are not diagnosed
28Volatile-qualified parameters and default arguments are not reported
29Uses of typeid and dynamic_cast are not diagnosed
30Planned for 2025 SP2
31Planned for 2025 SP2
32Template parameter lists appearing in macro arguments may result in false positives
33Uses of calloc, malloc, realloc, free, aligned_malloc, non-placement new, and delete are reported
34Taking the address of these functions is not reported
35Planned for a future release
36Planned for 2025 SP2
37Uses of objects in a potentially moved-from state resulting from a call to std::move are reported
38Planned for a future release
| Supported | 199 | 92.1% |
| Comprehensive | 192 | 88.9% |
| Partial | 6 | 2.8% |
| Assistance | 1 | 0.5% |
| Not Supported | 17 | 7.9% |
| Not Statically Checkable | 12 |
|
| TOTAL | 228 |
|
| Rule 0-1-1 (req) | Supported | |||
| Rule 0-1-2 (req) | Supported | |||
| Rule 0-1-3 (req) | Supported | |||
| Rule 0-1-4 (req) | Partially supported1 | |||
| Rule 0-1-5 (req) | Supported | |||
| Rule 0-1-6 (req) | Supported | |||
| Rule 0-1-7 (req) | Supported | |||
| Rule 0-1-8 (req) | Supported | |||
| Rule 0-1-9 (req) | Supported | |||
| Rule 0-1-10 (req) | Supported | |||
| Rule 0-1-11 (req) | Supported | |||
| Rule 0-1-12 (req) | Supported | |||
| Rule 0-2-1 (req) | Partially supported2 | |||
| Rule 0-3-1 (doc) | Supported |
|
||
| Rule 0-3-2 (req) | Supported | |||
| Rule 0-4-1 (doc) | Not statically checkable |
|
||
| Rule 0-4-2 (doc) | Not statically checkable |
|
||
| Rule 0-4-3 (doc) | Not statically checkable |
|
||
| Rule 1-0-1 (req) | Not supported |
|
||
| Rule 1-0-2 (req) | Not statically checkable |
|
||
| Rule 1-0-3 (doc) | Not statically checkable |
|
||
| Rule 2-2-1 (doc) | Not statically checkable |
|
||
| Rule 2-3-1 (req) | Supported | |||
| Rule 2-5-1 (adv) | Supported | |||
| Rule 2-7-1 (req) | Supported | |||
| Rule 2-7-2 (req) | Not statically checkable |
|
||
| Rule 2-7-3 (adv) | Not statically checkable |
|
||
| Rule 2-10-1 (req) | Not supported |
|
||
| Rule 2-10-2 (req) | Supported | |||
| Rule 2-10-3 (req) | Supported | |||
| Rule 2-10-4 (req) | Supported | |||
| Rule 2-10-5 (adv) | Supported | |||
| Rule 2-10-6 (req) | Supported | |||
| Rule 2-13-1 (req) | Supported | |||
| Rule 2-13-2 (req) | Supported | |||
| Rule 2-13-3 (req) | Supported | |||
| Rule 2-13-4 (req) | Supported | |||
| Rule 2-13-5 (req) | Supported | |||
| Rule 3-1-1 (req) | Supported | |||
| Rule 3-1-2 (req) | Supported | |||
| Rule 3-1-3 (req) | Supported | |||
| Rule 3-2-1 (req) | Supported | |||
| Rule 3-2-2 (req) | Supported | |||
| Rule 3-2-3 (req) | Supported | |||
| Rule 3-2-4 (req) | Supported | |||
| Rule 3-3-1 (req) | Supported | |||
| Rule 3-3-2 (req) | Supported | |||
| Rule 3-4-1 (req) | Partially supported3 | |||
| Rule 3-9-1 (req) | Partially supported4 | |||
| Rule 3-9-2 (adv) | Supported | |||
| Rule 3-9-3 (req) | Supported | |||
| Rule 4-5-1 (req) | Supported | |||
| Rule 4-5-2 (req) | Not supported |
|
||
| Rule 4-5-3 (req) | Supported | |||
| Rule 4-10-1 (req) | Not supported |
|
||
| Rule 4-10-2 (req) | Supported | |||
| Rule 5-0-1 (req) | Supported | |||
| Rule 5-0-2 (adv) | Supported | |||
| Rule 5-0-3 (req) | Supported | |||
| Rule 5-0-4 (req) | Supported | |||
| Rule 5-0-5 (req) | Supported | |||
| Rule 5-0-6 (req) | Supported | |||
| Rule 5-0-7 (req) | Supported | |||
| Rule 5-0-8 (req) | Supported | |||
| Rule 5-0-9 (req) | Supported | |||
| Rule 5-0-10 (req) | Supported | |||
| Rule 5-0-11 (req) | Supported | |||
| Rule 5-0-12 (req) | Not supported |
|
||
| Rule 5-0-13 (req) | Supported | |||
| Rule 5-0-14 (req) | Supported | |||
| Rule 5-0-15 (req) | Supported | |||
| Rule 5-0-16 (req) | Supported | |||
| Rule 5-0-17 (req) | Assistance provided5 | |||
| Rule 5-0-18 (req) | Supported | |||
| Rule 5-0-19 (req) | Supported | |||
| Rule 5-0-20 (req) | Supported | |||
| Rule 5-0-21 (req) | Supported | |||
| Rule 5-2-1 (req) | Supported | |||
| Rule 5-2-2 (req) | Supported | |||
| Rule 5-2-3 (adv) | Supported | |||
| Rule 5-2-4 (req) | Supported | |||
| Rule 5-2-5 (req) | Supported | |||
| Rule 5-2-6 (req) | Supported | |||
| Rule 5-2-7 (req) | Supported | |||
| Rule 5-2-8 (adv) | Supported | |||
| Rule 5-2-9 (adv) | Supported | |||
| Rule 5-2-10 (adv) | Supported | |||
| Rule 5-2-11 (req) | Supported | |||
| Rule 5-2-12 (req) | Supported | |||
| Rule 5-3-1 (req) | Supported | |||
| Rule 5-3-2 (req) | Supported | |||
| Rule 5-3-3 (req) | Supported | |||
| Rule 5-3-4 (req) | Supported | |||
| Rule 5-8-1 (req) | Supported | |||
| Rule 5-14-1 (req) | Supported | |||
| Rule 5-17-1 (req) | Not supported |
|
||
| Rule 5-18-1 (req) | Supported | |||
| Rule 5-19-1 (adv) | Not supported |
|
||
| Rule 6-2-1 (req) | Supported | |||
| Rule 6-2-2 (req) | Supported | |||
| Rule 6-2-3 (req) | Supported | |||
| Rule 6-3-1 (req) | Supported | |||
| Rule 6-4-1 (req) | Supported | |||
| Rule 6-4-2 (req) | Supported | |||
| Rule 6-4-3 (req) | Supported | |||
| Rule 6-4-4 (req) | Supported | |||
| Rule 6-4-5 (req) | Supported | |||
| Rule 6-4-6 (req) | Supported | |||
| Rule 6-4-7 (req) | Supported | |||
| Rule 6-4-8 (req) | Supported | |||
| Rule 6-5-1 (req) | Supported | |||
| Rule 6-5-2 (req) | Supported | |||
| Rule 6-5-3 (req) | Supported | |||
| Rule 6-5-4 (req) | Supported | |||
| Rule 6-5-5 (req) | Supported | |||
| Rule 6-5-6 (req) | Supported | |||
| Rule 6-6-1 (req) | Supported | |||
| Rule 6-6-2 (req) | Supported | |||
| Rule 6-6-3 (req) | Supported | |||
| Rule 6-6-4 (req) | Supported | |||
| Rule 6-6-5 (req) | Supported | |||
| Rule 7-1-1 (req) | Supported | |||
| Rule 7-1-2 (req) | Supported | |||
| Rule 7-2-1 (req) | Supported | |||
| Rule 7-3-1 (req) | Supported | |||
| Rule 7-3-2 (req) | Supported | |||
| Rule 7-3-3 (req) | Supported | |||
| Rule 7-3-4 (req) | Supported | |||
| Rule 7-3-5 (req) | Supported | |||
| Rule 7-3-6 (req) | Supported | |||
| Rule 7-4-1 (doc) | Not statically checkable |
|
||
| Rule 7-4-2 (req) | Supported | |||
| Rule 7-4-3 (req) | Supported | |||
| Rule 7-5-1 (req) | Supported | |||
| Rule 7-5-2 (req) | Supported | |||
| Rule 7-5-3 (req) | Supported | |||
| Rule 7-5-4 (req) | Supported | |||
| Rule 8-0-1 (req) | Supported | |||
| Rule 8-3-1 (req) | Supported | |||
| Rule 8-4-1 (req) | Supported | |||
| Rule 8-4-2 (req) | Supported | |||
| Rule 8-4-3 (req) | Supported | |||
| Rule 8-4-4 (req) | Supported | |||
| Rule 8-5-1 (req) | Supported | |||
| Rule 8-5-2 (req) | Supported | |||
| Rule 8-5-3 (req) | Supported | |||
| Rule 9-3-1 (req) | Supported | |||
| Rule 9-3-2 (req) | Supported | |||
| Rule 9-3-3 (req) | Supported | |||
| Rule 9-5-1 (req) | Supported | |||
| Rule 9-6-1 (doc) | Not statically checkable |
|
||
| Rule 9-6-2 (req) | Supported | |||
| Rule 9-6-3 (req) | Supported | |||
| Rule 9-6-4 (req) | Supported | |||
| Rule 10-1-1 (adv) | Supported | |||
| Rule 10-1-2 (req) | Supported | |||
| Rule 10-1-3 (req) | Supported | |||
| Rule 10-2-1 (adv) | Supported | |||
| Rule 10-3-1 (req) | Not supported |
|
||
| Rule 10-3-2 (req) | Supported | |||
| Rule 10-3-3 (req) | Supported | |||
| Rule 11-0-1 (req) | Supported | |||
| Rule 12-1-1 (req) | Supported | |||
| Rule 12-1-2 (adv) | Supported | |||
| Rule 12-1-3 (req) | Supported | |||
| Rule 12-8-1 (req) | Partially supported6 | |||
| Rule 12-8-2 (req) | Supported | |||
| Rule 14-5-1 (req) | Supported | |||
| Rule 14-5-2 (req) | Supported | |||
| Rule 14-5-3 (req) | Supported | |||
| Rule 14-6-1 (req) | Supported | |||
| Rule 14-6-2 (req) | Not supported |
|
||
| Rule 14-7-1 (req) | Not supported |
|
||
| Rule 14-7-2 (req) | Not supported |
|
||
| Rule 14-7-3 (req) | Partially supported7 | |||
| Rule 14-8-1 (req) | Not supported |
|
||
| Rule 14-8-2 (adv) | Supported | |||
| Rule 15-0-1 (doc) | Not statically checkable |
|
||
| Rule 15-0-2 (adv) | Supported | |||
| Rule 15-0-3 (req) | Supported | |||
| Rule 15-1-1 (req) | Not supported |
|
||
| Rule 15-1-2 (req) | Supported | |||
| Rule 15-1-3 (req) | Supported | |||
| Rule 15-3-1 (req) | Supported | |||
| Rule 15-3-2 (adv) | Not supported |
|
||
| Rule 15-3-3 (req) | Supported | |||
| Rule 15-3-4 (req) | Supported | |||
| Rule 15-3-5 (req) | Supported | |||
| Rule 15-3-6 (req) | Supported | |||
| Rule 15-3-7 (req) | Supported | |||
| Rule 15-4-1 (req) | Supported | |||
| Rule 15-5-1 (req) | Supported | |||
| Rule 15-5-2 (req) | Supported | |||
| Rule 15-5-3 (req) | Supported | |||
| Rule 16-0-1 (req) | Supported | |||
| Rule 16-0-2 (req) | Supported | |||
| Rule 16-0-3 (req) | Supported | |||
| Rule 16-0-4 (req) | Supported | |||
| Rule 16-0-5 (req) | Supported | |||
| Rule 16-0-6 (req) | Supported | |||
| Rule 16-0-7 (req) | Supported | |||
| Rule 16-0-8 (req) | Supported | |||
| Rule 16-1-1 (req) | Supported | |||
| Rule 16-1-2 (req) | Supported | |||
| Rule 16-2-1 (req) | Not supported |
|
||
| Rule 16-2-2 (req) | Not supported |
|
||
| Rule 16-2-3 (req) | Supported | |||
| Rule 16-2-4 (req) | Supported | |||
| Rule 16-2-5 (adv) | Supported | |||
| Rule 16-2-6 (req) | Supported | |||
| Rule 16-3-1 (req) | Supported | |||
| Rule 16-3-2 (adv) | Supported | |||
| Rule 16-6-1 (doc) | Not statically checkable |
|
||
| Rule 17-0-1 (req) | Supported | |||
| Rule 17-0-2 (req) | Supported | |||
| Rule 17-0-3 (req) | Not supported |
|
||
| Rule 17-0-4 (req) | Supported |
|
||
| Rule 17-0-5 (req) | Supported | |||
| Rule 18-0-1 (req) | Supported | |||
| Rule 18-0-2 (req) | Supported | |||
| Rule 18-0-3 (req) | Supported | |||
| Rule 18-0-4 (req) | Supported | |||
| Rule 18-0-5 (req) | Supported | |||
| Rule 18-2-1 (req) | Supported | |||
| Rule 18-4-1 (req) | Supported | |||
| Rule 18-7-1 (req) | Supported | |||
| Rule 19-3-1 (req) | Supported | |||
| Rule 27-0-1 (req) | Supported | |||
1Unreferenced global non-static variables are not reported
2Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
3Only global objects with external linkage that could be defined within a function are reported
4PC-lint Plus reports on differences in type alias names, not "token-for-token" differences.
5All pointer subtraction operations are reported
6Reports on all constructors instead of just copy constructors and reports accesses of global data, not just modifications
7Only violations involving function template specializations are reported
| Supported | 126 | 96.2% |
| Comprehensive | 124 | 94.7% |
| Partial | 2 | 1.5% |
| Assistance | 0 | 0.0% |
| Not Supported | 5 | 3.8% |
| Not Statically Checkable | 11 |
|
| TOTAL | 142 |
|
| Rule 1.1 (req) | Supported | |||
| Rule 1.2 (req) | Supported | 1 2 31 40 54 86 136 401 413 414 415 416 419 424 428 437 449 557 558 564 604 629 719 931 2454 ?? ?? |
||
| Rule 1.3 (req) | Not statically checkable |
|
||
| Rule 1.4 (req) | Not statically checkable |
|
||
| Rule 1.5 (adv) | Not statically checkable |
|
||
| Rule 2.1 (req) | Supported | |||
| Rule 2.2 (req) | Supported | |||
| Rule 2.3 (req) | Supported | |||
| Rule 2.4 (adv) | Supported | |||
| Rule 3.1 (req) | Not statically checkable |
|
||
| Rule 3.2 (req) | Not statically checkable |
|
||
| Rule 3.3 (adv) | Not statically checkable |
|
||
| Rule 3.4 (req) | Supported | |||
| Rule 3.5 (req) | Not statically checkable |
|
||
| Rule 3.6 (req) | Supported |
|
||
| Rule 4.1 (req) | Supported | |||
| Rule 4.2 (req) | Supported | |||
| Rule 5.1 (req) | Not supported |
|
||
| Rule 5.2 (req) | Supported | |||
| Rule 5.3 (req) | Supported | |||
| Rule 5.4 (req) | Supported | |||
| Rule 5.5 (adv) | Partially supported1 | |||
| Rule 5.6 (adv) | Not supported |
|
||
| Rule 5.7 (adv) | Not supported |
|
||
| Rule 6.1 (req) | Supported | |||
| Rule 6.2 (req) | Supported | |||
| Rule 6.3 (adv) | Supported | |||
| Rule 6.4 (req) | Supported | |||
| Rule 6.5 (req) | Supported | |||
| Rule 7.1 (req) | Supported | |||
| Rule 8.1 (req) | Supported | |||
| Rule 8.2 (req) | Supported | |||
| Rule 8.3 (req) | Supported | |||
| Rule 8.4 (req) | Supported | |||
| Rule 8.5 (req) | Supported | |||
| Rule 8.6 (req) | Supported | |||
| Rule 8.7 (req) | Supported | |||
| Rule 8.8 (req) | Supported | |||
| Rule 8.9 (req) | Supported | |||
| Rule 8.10 (req) | Supported | |||
| Rule 8.11 (req) | Supported | |||
| Rule 8.12 (req) | Supported | |||
| Rule 9.1 (req) | Supported | |||
| Rule 9.2 (req) | Supported | |||
| Rule 9.3 (req) | Supported | |||
| Rule 10.1 (req) | Supported | |||
| Rule 10.2 (req) | Supported | |||
| Rule 10.3 (req) | Supported | |||
| Rule 10.4 (req) | Supported | |||
| Rule 10.5 (req) | Supported | |||
| Rule 10.6 (req) | Supported | |||
| Rule 11.1 (req) | Supported | |||
| Rule 11.2 (req) | Supported | |||
| Rule 11.3 (adv) | Supported | |||
| Rule 11.4 (adv) | Supported | |||
| Rule 11.5 (req) | Supported | |||
| Rule 12.1 (adv) | Supported | |||
| Rule 12.2 (req) | Supported | |||
| Rule 12.3 (req) | Supported | |||
| Rule 12.4 (req) | Supported | |||
| Rule 12.5 (req) | Supported | |||
| Rule 12.6 (adv) | Supported | |||
| Rule 12.7 (req) | Supported | |||
| Rule 12.8 (req) | Supported | |||
| Rule 12.9 (req) | Supported | |||
| Rule 12.10 (req) | Supported | |||
| Rule 12.11 (adv) | Not supported |
|
||
| Rule 12.12 (req) | Supported | |||
| Rule 12.13 (adv) | Supported | |||
| Rule 13.1 (req) | Supported | |||
| Rule 13.2 (adv) | Supported | |||
| Rule 13.3 (req) | Supported | |||
| Rule 13.4 (req) | Supported | |||
| Rule 13.5 (req) | Supported | |||
| Rule 13.6 (req) | Supported | |||
| Rule 13.7 (req) | Supported | |||
| Rule 14.1 (req) | Supported | |||
| Rule 14.2 (req) | Supported | |||
| Rule 14.3 (req) | Supported | |||
| Rule 14.4 (req) | Supported | |||
| Rule 14.5 (req) | Supported | |||
| Rule 14.6 (req) | Supported | |||
| Rule 14.7 (req) | Supported | |||
| Rule 14.8 (req) | Supported | |||
| Rule 14.9 (req) | Supported | |||
| Rule 14.10 (req) | Supported | |||
| Rule 15.0 (req) | Supported | |||
| Rule 15.1 (req) | Supported | |||
| Rule 15.2 (req) | Supported | |||
| Rule 15.3 (req) | Supported | |||
| Rule 15.4 (req) | Supported | |||
| Rule 15.5 (req) | Supported | |||
| Rule 16.1 (req) | Supported | |||
| Rule 16.2 (req) | Supported | |||
| Rule 16.3 (req) | Supported | |||
| Rule 16.4 (req) | Supported | |||
| Rule 16.5 (req) | Supported | |||
| Rule 16.6 (req) | Supported | |||
| Rule 16.7 (adv) | Supported | |||
| Rule 16.8 (req) | Supported | |||
| Rule 16.9 (req) | Supported | |||
| Rule 16.10 (req) | Supported | |||
| Rule 17.1 (req) | Not statically checkable |
|
||
| Rule 17.2 (req) | Not statically checkable |
|
||
| Rule 17.3 (req) | Not statically checkable |
|
||
| Rule 17.4 (req) | Supported | |||
| Rule 17.5 (adv) | Supported | |||
| Rule 17.6 (req) | Supported | |||
| Rule 18.1 (req) | Supported | |||
| Rule 18.2 (req) | Partially supported2 | |||
| Rule 18.3 (req) | Not statically checkable |
|
||
| Rule 18.4 (req) | Supported | |||
| Rule 19.1 (adv) | Supported | |||
| Rule 19.2 (adv) | Supported | |||
| Rule 19.3 (req) | Supported | |||
| Rule 19.4 (req) | Not supported |
|
||
| Rule 19.5 (req) | Supported | |||
| Rule 19.6 (req) | Supported | |||
| Rule 19.7 (adv) | Supported | |||
| Rule 19.8 (req) | Supported | |||
| Rule 19.9 (req) | Supported | |||
| Rule 19.10 (req) | Supported | |||
| Rule 19.11 (req) | Supported | |||
| Rule 19.12 (req) | Supported | |||
| Rule 19.13 (adv) | Supported | |||
| Rule 19.14 (req) | Supported | |||
| Rule 19.15 (req) | Supported | |||
| Rule 19.16 (req) | Supported | |||
| Rule 19.17 (req) | Supported | |||
| Rule 20.1 (req) | Supported | |||
| Rule 20.2 (req) | Supported | |||
| Rule 20.3 (req) | Supported | |||
| Rule 20.4 (req) | Supported | |||
| Rule 20.5 (req) | Supported | |||
| Rule 20.6 (req) | Supported | |||
| Rule 20.7 (req) | Supported | |||
| Rule 20.8 (req) | Supported | |||
| Rule 20.9 (req) | Supported | |||
| Rule 20.10 (req) | Supported | |||
| Rule 20.11 (req) | Supported | |||
| Rule 20.12 (req) | Supported | |||
| Rule 21.1 (req) | Supported |
|
||
1Reuses of function local static variables are not reported
2Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself