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).
MISRA C++:2023 was updated in 2026 by Technical Corrigenda 1 (TC1). 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 (TC1) 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,
mandatory, or disapplied. 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. A disapplied guideline is one that MISRA no longer expects a compliant
project to enforce; the author files do not enable the checks for such guidelines, and where PC-lint Plus is able to
check one, the options that do so are present in the author file but are commented out so that a project wishing to
continue checking the guideline can enable them. The diagnostics listed for such a guideline are the
ones those options enable. 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 | 199 | 90.9% |
| Comprehensive | 180 | 82.2% |
| Partial | 16 | 7.3% |
| Assistance | 3 | 1.4% |
| Not Supported | 20 | 9.1% |
| Not Statically Checkable | 4 |
|
| TOTAL | 223 |
|
| Dir 1.1 (Req) | Not statically checkable |
|
||
| Dir 1.2 (Adv*) | Supported | |||
| 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 783 792 816 931 975 1013 1107 2402 2405 2406 2407 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9306 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) | Supported12 | |||
| 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 ?? ?? |
||
| 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*) | 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
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
12MISRA C:2025 disapplies this guideline; the options that enable message 904 are present in au-misra5.lnt but are commented
out
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 | 200 | 92.2% |
| Comprehensive | 187 | 86.2% |
| Partial | 10 | 4.6% |
| Assistance | 3 | 1.4% |
| Not Supported | 17 | 7.8% |
| Not Statically Checkable | 4 |
|
| 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*) | 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 783 792 816 931 975 1013 1107 2402 2405 2406 2407 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9306 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 | 154 | 99.4% |
| Comprehensive | 145 | 93.5% |
| Partial | 7 | 4.5% |
| Assistance | 2 | 1.3% |
| Not Supported | 1 | 0.6% |
| Not Statically Checkable | 4 |
|
| 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*) | Supported | |||
| 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 783 792 816 931 975 1013 1107 2402 2405 2406 2407 2434 2445 2446 2447 2448 2452 2453 2454 2455 2472 2473 2475 2478 2479 2480 2481 2504 2505 2662 2701 2705 9023 9237 9306 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 | 172 | 97.2% |
| Comprehensive | 146 | 82.5% |
| Partial | 26 | 14.7% |
| Assistance | 0 | 0.0% |
| Not Supported | 5 | 2.8% |
| 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*) | Supported | 160 182 430 586 677 855 1128 2447 2448 2715 2729 3429 3431 3439 3448 3707 9052 9307 |
||
| Rule 4.1.2 (Adv) | Partially supported3 | |||
| Rule 4.1.3 (Req*) | Supported | 1 2 54 413 414 450 676 1419 1423 1575 2405 2406 2407 2410 2445 2446 2457 2504 2662 3418 9023 9306 |
||
| 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) | Partially supported4 | |||
| Rule 5.13.1 (Req) | Supported | |||
| Rule 5.13.2 (Req) | Partially supported5 | |||
| 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 supported6 | |||
| Rule 6.0.2 (Adv) | Supported | |||
| Rule 6.0.3 (Adv) | Supported | |||
| Rule 6.0.4 (Req) | Partially supported7 | |||
| Rule 6.2.1 (Req) | Partially supported8 | |||
| Rule 6.2.2 (Req) | Not supported9 |
|
||
| Rule 6.2.3 (Req) | Supported | |||
| Rule 6.2.4 (Req) | Supported | |||
| Rule 6.4.1 (Req) | Partially supported10 | |||
| Rule 6.4.2 (Req) | Supported | |||
| Rule 6.4.3 (Req) | Supported | |||
| Rule 6.5.1 (Adv) | Partially supported11 | |||
| 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 supported12 | |||
| Rule 6.8.3 (Req) | Supported | |||
| Rule 6.8.4 (Adv) | Supported | |||
| Rule 6.9.1 (Req) | Partially supported13 | |||
| Rule 6.9.2 (Adv) | Supported | |||
| Rule 7.0.1 (Req) | Partially supported14 | |||
| Rule 7.0.2 (Req) | Supported | |||
| Rule 7.0.3 (Req) | Supported | |||
| Rule 7.0.4 (Req) | Supported | |||
| Rule 7.0.5 (Req) | Supported | |||
| Rule 7.0.6 (Req) | Not supported15 |
|
||
| Rule 7.11.1 (Req) | Supported | |||
| Rule 7.11.2 (Req) | Supported | |||
| Rule 7.11.3 (Req) | Partially supported16 | |||
| Rule 8.0.1 (Adv) | Partially supported17 | |||
| 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*) | Supported | |||
| Rule 8.9.1 (Req*) | Supported | |||
| Rule 8.14.1 (Adv*) | Supported | |||
| Rule 8.18.1 (Mand*) | Partially supported18 | |||
| Rule 8.18.2 (Adv) | Supported | |||
| Rule 8.19.1 (Adv) | Supported | |||
| Rule 8.20.1 (Adv) | Partially supported19 | |||
| 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 supported20 |
|
||
| Rule 9.5.2 (Req) | Supported | |||
| Rule 9.6.1 (Adv) | Supported | |||
| Rule 9.6.2 (Req) | Partially supported21 | |||
| 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 supported22 |
|
||
| Rule 10.3.1 (Adv) | Supported | |||
| Rule 10.4.1 (Req) | Supported | |||
| Rule 11.3.1 (Adv) | Partially supported23 | |||
| 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 supported24 | |||
| Rule 13.3.4 (Req) | Supported | |||
| Rule 14.1.1 (Adv) | Supported | |||
| Rule 15.0.1 (Req) | Supported | |||
| Rule 15.0.2 (Adv) | Partially supported25 | |||
| Rule 15.1.1 (Req*) | Partially supported26 | |||
| 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) | Supported | |||
| Rule 18.3.2 (Req) | Supported | |||
| Rule 18.3.3 (Req) | Supported | |||
| Rule 18.4.1 (Req) | Supported | |||
| Rule 18.5.1 (Adv*) | 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) | 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 supported27 | |||
| 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 supported28 | |||
| Rule 21.6.3 (Req) | Supported | |||
| Rule 21.6.4 (Req) | Partially supported29 | |||
| 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 supported30 | |||
| Rule 25.5.3 (Mand*) | Supported | |||
| Rule 26.3.1 (Adv) | Supported | |||
| Rule 28.3.1 (Req*) | Supported | |||
| Rule 28.6.1 (Req) | Supported | |||
| Rule 28.6.2 (Req) | Supported | |||
| Rule 28.6.3 (Req) | Partially supported31 | |||
| Rule 28.6.4 (Req) | Supported | |||
| Rule 30.0.1 (Req) | Supported | |||
| Rule 30.0.2 (Req*) | Supported | |||
1Non-local variables are not reported
2Planned for next release
3The 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.
4Attempting to introduce reserved identifiers will be reported
5Specified characters in the basic character set which can terminate the escape sequence are reported
6Redundant parentheses around declarators are not reported
7Uses of main followed by parenthesis in constructor declarations or function calls are not reported
8Multiple definitions of functions, variables and disparate tag type definitions are reported
9Planned for a future release
10Name hiding involving data members and enumerators are not reported
11Only functions with external linkage are reported
12Functions that throw the address of automatic variables or return lambdas that capture automatic variables are not
reported
13The exception for top-level cv-qualifiers is not supported
14Boolean conversions resulting from using == and != with other types are not reported and no exception is made for bit-field
assignment
15Planned for next release
16Exemption for assignment of function to pointer-to-function type is not supported, and does not report class types
17Expressions appearing in preprocessor directives are not reported
18Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
19Unevaluated expressions are reported
20Planned for next release
21A label that is not directly enclosed by a compound statement is not reported
22Planned for next release
23No diagnostic is emitted for static constexpr data members
24Parameter name mismatches that span multiple modules are not diagnosed
25Volatile-qualified parameters and default arguments are not reported
26Uses of typeid and dynamic_cast are not diagnosed
27Template parameter lists appearing in macro arguments may result in false positives
28Uses of calloc, malloc, realloc, free, aligned_alloc, get_temporary_buffer, return_temporary_buffer, non-placement new, and delete
are reported
29Does not report when replacement operator deletes are in different files
30Taking the address of these functions is not reported
31Uses of objects in a potentially moved-from state resulting from a call to std::move are reported
| Supported | 201 | 93.1% |
| Comprehensive | 194 | 89.8% |
| Partial | 6 | 2.8% |
| Assistance | 1 | 0.5% |
| Not Supported | 15 | 6.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) | Partially supported3 | 160 182 430 586 677 855 1128 2447 2448 2715 2729 3419 3429 3439 3448 3707 9307 |
||
| 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) | Supported | |||
| 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) | 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
3The language standard version is set here, and many common compiler extensions will be 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 2447 2448 2454 ?? ?? 9306 |
||
| 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