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 | 197 | 90.4% |
| Comprehensive | 177 | 81.2% |
| Partial | 17 | 7.8% |
| Assistance | 3 | 1.4% |
| Not Supported | 21 | 9.6% |
| 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) | Partially supported10 | |||
| Rule 11.9 (Req) | Supported | |||
| Rule 11.10 (Req) | Supported | 4175 |
||
| Rule 11.11 (Req) | Partially supported11 | |||
| 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 supported12 | |||
| 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 supported13 | |||
| 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 4175 5805 |
||
| Rule 18.1 (Req*) | Supported | |||
| Rule 18.2 (Req*) | Assistance provided14 | |||
| Rule 18.3 (Req*) | Assistance provided15 | |||
| Rule 18.4 (Adv) | Supported | |||
| Rule 18.5 (Adv) | Supported | |||
| Rule 18.6 (Req*) | Partially supported16 | |||
| 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 supported17 | |||
| 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 supported18 | |||
| 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*) | Not 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 provided19 | |||
| Rule 22.15 (Req*) | Not supported |
|
||
| Rule 22.16 (Req*) | Supported | |||
| Rule 22.17 (Req*) | Partially supported20 | |||
| 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
10Conversions removing a _Atomic qualification are not reported
11Only pointers used in conjunction with a logical operator are reported
12Potential side effects of evaluating a variable-length array type in a sizeof expression are not diagnosed
13Switch cases terminated by control flow statements other than break will be falsely reported
14All pointer subtraction operations are reported
15All relational operators involving pointers are reported
16Objects with thread-local storage are not reported
17Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
18Only expressions that involve binary operators are reported
19Reports incompletely initialized mutexes
20Reports unlocking mutexes that were not previously locked and passing unlocked mutexes to functions that require locked
mutexes
| Supported | 198 | 91.7% |
| Comprehensive | 185 | 85.6% |
| Partial | 10 | 4.6% |
| Assistance | 3 | 1.4% |
| Not Supported | 18 | 8.3% |
| 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 | 4175 |
||
| 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 4175 5805 |
||
| 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*) | Not 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 | 7 | 50.0% |
| Comprehensive | 7 | 50.0% |
| Partial | 0 | 0.0% |
| Assistance | 0 | 0.0% |
| Not Supported | 7 | 50.0% |
| 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*) | Not 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 4175 5805 |
||
| 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 | 4175 |
||
| 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 | 136 | 76.8% |
| Comprehensive | 116 | 65.5% |
| Partial | 20 | 11.3% |
| Assistance | 0 | 0.0% |
| Not Supported | 41 | 23.2% |
| 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 supported |
|
||
| Rule 0.2.4 (Adv) | Not supported |
|
||
| Dir 0.3.1 (Adv) | Not statically checkable |
|
||
| Dir 0.3.2 (Req) | Not statically checkable |
|
||
| Rule 4.1.1 (Req*) | Not supported |
|
||
| Rule 4.1.2 (Adv) | Partially supported2 | |||
| Rule 4.1.3 (Req*) | Not supported |
|
||
| 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 supported |
|
||
| 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 supported3 | |||
| Rule 6.0.2 (Adv) | Supported | |||
| Rule 6.0.3 (Adv) | Supported | |||
| Rule 6.0.4 (Req) | Supported | |||
| Rule 6.2.1 (Req) | Partially supported4 | |||
| Rule 6.2.2 (Req) | Not supported |
|
||
| Rule 6.2.3 (Req) | Not supported |
|
||
| Rule 6.2.4 (Req) | Supported | |||
| Rule 6.4.1 (Req) | Partially supported5 | |||
| Rule 6.4.2 (Req) | Not supported |
|
||
| Rule 6.4.3 (Req) | Supported | |||
| Rule 6.5.1 (Adv) | Partially supported6 | |||
| Rule 6.5.2 (Adv) | Not supported |
|
||
| Rule 6.7.1 (Req) | Supported | |||
| Rule 6.7.2 (Req) | Not supported |
|
||
| Rule 6.8.1 (Req*) | Supported | |||
| Rule 6.8.2 (Mand) | Partially supported7 | |||
| Rule 6.8.3 (Req) | Supported | |||
| Rule 6.8.4 (Adv) | Supported | |||
| Rule 6.9.1 (Req) | Partially supported8 | |||
| Rule 6.9.2 (Adv) | Supported | |||
| Rule 7.0.1 (Req) | Partially supported9 | |||
| Rule 7.0.2 (Req) | Partially supported10 | |||
| Rule 7.0.3 (Req) | Not supported |
|
||
| Rule 7.0.4 (Req) | Supported | |||
| Rule 7.0.5 (Req) | Not supported |
|
||
| Rule 7.0.6 (Req) | Not supported |
|
||
| Rule 7.11.1 (Req) | Supported | |||
| Rule 7.11.2 (Req) | Supported | |||
| Rule 7.11.3 (Req) | Partially supported11 | |||
| Rule 8.0.1 (Adv) | Partially supported12 | |||
| Rule 8.1.1 (Req) | Not supported |
|
||
| Rule 8.1.2 (Adv) | Not supported |
|
||
| Rule 8.2.1 (Req) | Supported | |||
| Rule 8.2.2 (Req) | Supported | |||
| Rule 8.2.3 (Req) | Supported | |||
| Rule 8.2.4 (Req) | Partially supported13 | |||
| Rule 8.2.5 (Req) | Supported | |||
| Rule 8.2.6 (Req) | Not 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 | 4078 |
||
| Rule 8.3.1 (Adv) | Supported | |||
| Rule 8.3.2 (Adv) | Supported | |||
| Rule 8.7.1 (Req*) | Supported | |||
| Rule 8.7.2 (Req*) | Not supported |
|
||
| Rule 8.9.1 (Req*) | Not supported |
|
||
| Rule 8.14.1 (Adv*) | Supported | |||
| Rule 8.18.1 (Mand*) | Not supported |
|
||
| Rule 8.18.2 (Adv) | Supported | |||
| Rule 8.19.1 (Adv) | Supported | |||
| Rule 8.20.1 (Adv) | Not supported |
|
||
| Rule 9.2.1 (Req) | Not supported |
|
||
| Rule 9.3.1 (Req) | Supported | |||
| Rule 9.4.1 (Req) | Supported | |||
| Rule 9.4.2 (Req) | Not supported |
|
||
| Rule 9.5.1 (Adv) | Not supported |
|
||
| 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 supported |
|
||
| Rule 10.3.1 (Adv) | Supported | |||
| Rule 10.4.1 (Req) | Supported | |||
| Rule 11.3.1 (Adv) | Partially supported14 | |||
| 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 supported15 | |||
| Rule 13.3.4 (Req) | Not supported |
|
||
| Rule 14.1.1 (Adv) | Supported | |||
| Rule 15.0.1 (Req) | Not supported |
|
||
| Rule 15.0.2 (Adv) | Partially supported16 | |||
| Rule 15.1.1 (Req*) | Partially supported17 | |||
| Rule 15.1.2 (Adv) | Supported | |||
| Rule 15.1.3 (Req) | Supported | |||
| Rule 15.1.4 (Adv) | Not supported |
|
||
| Rule 15.1.5 (Req) | Not 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 supported |
|
||
| Rule 18.3.2 (Req) | Supported | |||
| Rule 18.3.3 (Req) | Supported | |||
| Rule 18.4.1 (Req) | Not supported |
|
||
| Rule 18.5.1 (Adv*) | Not supported |
|
||
| 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) | Not 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 supported18 | |||
| 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 supported19 | |||
| Rule 21.6.3 (Req) | Not 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) | Not supported |
|
||
| Rule 22.4.1 (Req) | Supported | |||
| Rule 23.11.1 (Adv) | Not supported |
|
||
| Rule 24.5.1 (Req) | Supported | |||
| Rule 24.5.2 (Req) | Supported | |||
| Rule 25.5.1 (Req) | Supported | |||
| Rule 25.5.2 (Mand) | Not supported |
|
||
| Rule 25.5.3 (Mand*) | Not supported |
|
||
| Rule 26.3.1 (Adv) | Supported | |||
| Rule 28.3.1 (Req*) | Not supported |
|
||
| Rule 28.6.1 (Req) | Supported | |||
| Rule 28.6.2 (Req) | Not supported |
|
||
| Rule 28.6.3 (Req) | Partially supported20 | |||
| Rule 28.6.4 (Req) | Not supported |
|
||
| Rule 30.0.1 (Req) | Supported | |||
| Rule 30.0.2 (Req*) | Not supported |
|
||
1Non-local variables are not reported
2The 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.
3Redundant parentheses around declarators are not reported
4Multiple definitions of functions, variables and disparate tag type definitions are reported
5Name hiding involving data members and enumerators are not reported
6Only functions with external linkage are reported
7Functions that throw the address of automatic variables or return lambdas that capture automatic variables are not
reported
8The exception for top-level cv-qualifiers is not supported
9Boolean conversions resulting from using == and != with other types are not reported and no exception is made for bit-field
assignment
10The exceptions for bit-fields and while conditions are not honored
11Exemption for assignment of function to pointer-to-function type is not supported
12Expressions appearing in preprocessor directives are not reported
13Conversions involving pointer to member functions are not reported
14No diagnostic is emitted for static constexpr data members
15Parameter name mismatches that span multiple modules are not diagnosed
16Volatile-qualified parameters and default arguments are not reported
17Uses of typeid and dynamic_cast are not diagnosed
18Template parameter lists appearing in macro arguments may result in false positives
19Uses of calloc, malloc, realloc, free, aligned_malloc, non-placement new, and delete are reported
20Uses of objects in a potentially moved-from state resulting from a call to std::move are reported
| Supported | 197 | 91.2% |
| Comprehensive | 190 | 88.0% |
| Partial | 6 | 2.8% |
| Assistance | 1 | 0.5% |
| Not Supported | 19 | 8.8% |
| 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) | Not 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) | Not 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 5125 5537 |
||
| 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