Vector Help

Reference Manual for PC-lint® Plus

13 AUTOSAR® Standard Checking

13.1 Introduction to AUTOSAR Support

The AUTOSAR C++ Coding Guidelines are an update to MISRA C++ 2008 intended for use with C++14 in the development of safety-related software. The AUTOSAR guidelines consist of a combination of unmodified MISRA C++ 2008 rules, modified MISRA C++ 2008 rules, and completely new rules. Like its predecessor, the goal of these guidelines is to help facilitate the development of safe and reliable software.

There were five released versions of the AUTOSAR guidelines named after the year and month of their release: 17-03, 17-10, 18-03, 18-10, and 19-03. There are no guideline differences between 18-10 and 19-03. Previous versions of PC-lint Plus targeted AUTOSAR 17-03. Starting with PC-lint Plus 2.0, both AUTOSAR 17-03 and AUTOSAR 19-03 are supported. These are hereafter referred to as AUTOSAR17 and AUTOSAR19, respectively.

PC-lint Plus provides support for detecting violations of the AUTOSAR17 guidelines using the au-autosar.lnt file and violations of the AUTOSAR19 guidelines using the au-autosar19.lnt file, both distributed with the product in the lnt/ directory. The tables that follow detail the level of support and the supporting messages for each guideline. While some of the messages are very specific to AUTOSAR guidelines, any of the messages may be employed individually in order to make use of a subset of the checks, outside of AUTOSAR compliance checking.

The author file enables checks for both library and non-library code. This means that the standard headers employed by your source code are subject to the same scrutiny as the rest of the project. This is often a project requirement but can result in a lot of noise if library code is not subject to the same compliance requirements as the rest of the project. The simplest way to disable AUTOSAR checks for library code is to place the options -wlib(4) -wlib(1) immediately after the author file is referenced. This raises and immediately lowers the warning level for libraries resulting in a suppression of all non-error messages from library code. Any non-error messages that you intend to enable for library code (e.g. via +elib) should appear after these options.

The following subsections document the level of support provided by PC-lint Plus for each of the AUTOSAR guidelines. The rule number, level of support, and primary enforcing messages are provided. While every effort is made to ensure the correctness of the information provided here, Vector Informatik GmbH makes no guarantee with respect to the accuracy of the information conveyed.

The following terms are used to characterize the support that PC-lint Plus provides each guideline:

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.

13.2 AUTOSAR19

13.2.1 AUTOSAR19 Guideline Support Summary

Supported

275

78.1%




Comprehensive

252

71.6%




Partial

21

6.0%




Assistance

2

0.6%




Not Supported

77

21.9%




Not Statically Checkable

45




TOTAL

397




13.2.2 AUTOSAR19 Guideline Support Matrix






M0-1-1

Supported

527 681 685 774 827 944






M0-1-2

Supported

685 774 827 944






M0-1-3

Supported

528 529 714 752 757 1715






M0-1-4

Partially supported1

528 529 550 551 552






A0-1-1

Partially supported2

438 838






A0-1-2

Supported

534






M0-1-8

Supported

9175






M0-1-9

Supported

438 587 685 774 838 944 948






M0-1-10

Supported

528 714 1714 1914






A0-1-3

Partially supported3

528






A0-1-4

Supported

715






A0-1-5

Not supported






A0-1-6

Supported

751 753 756 758






M0-2-1

Partially supported4

464 2507






M0-3-1

Not statically checkable






M0-3-2

Not statically checkable






M0-4-1

Not statically checkable






M0-4-2

Not statically checkable






A0-4-1

Not statically checkable






A0-4-2

Supported

586






A0-4-3

Not statically checkable






A0-4-4

Partially supported5

2423






A1-1-1

Partially supported6

586 1407 1906






M1-0-2

Not statically checkable






A1-1-2

Not statically checkable






A1-1-3

Not statically checkable






A1-2-1

Not statically checkable






A1-4-1

Not statically checkable






A1-4-3

Not statically checkable






A2-3-1

Not supported






A2-5-1

Supported

584 739






A2-5-2

Supported

9102






M2-7-1

Supported

602






A2-7-1

Supported

427






A2-7-2

Not statically checkable

9155






A2-7-3

Not supported






A2-7-5

Not statically checkable






A2-8-1

Not statically checkable






A2-8-2

Not statically checkable






M2-10-1

Not supported






A2-10-1

Supported

578






A2-10-6

Not supported






A2-10-4

Supported

9279






A2-10-5

Supported

9103






A2-11-1

Supported

586






A2-13-1

Supported

606






A2-13-6

Supported

9443






A2-13-5

Supported

9439






M2-13-2

Supported

9001 9104






M2-13-3

Supported

9105






M2-13-4

Supported

9106






A2-13-2

Supported

1107






A2-13-3

Supported

586






A2-13-4

Supported

1776






A3-1-1

Supported

9107






A3-1-2

Not supported






A3-1-3

Not supported






M3-1-2

Supported

1798 9108






A3-1-4

Supported

9067






A3-1-5

Supported

9449






A3-1-6

Not supported






M3-2-1

Supported

18 31






M3-2-2

Supported

15 31






M3-2-3

Supported

9004






M3-2-4

Supported

2467 2469






A3-3-1

Not supported






A3-3-2

Supported

3708 9508






M3-3-2

Supported

401 839






M3-4-1

Partially supported7

9003






A3-8-1

Not statically checkable






M3-9-1

Partially supported

9073 9094 9168






A3-9-1

Supported

586






M3-9-3

Supported

2498 2499 9110






M4-5-1

Supported

9111






A4-5-1

Not supported






M4-5-3

Supported

9112






A4-7-1

Not supported






M4-10-1

Not supported






A4-10-1

Supported

910






M4-10-2

Supported

910






A5-0-1

Supported

564






M5-0-2

Supported

9113






M5-0-3

Supported

9114 9116






M5-0-4

Supported

9117






M5-0-5

Supported

9115 9118






M5-0-6

Supported

9119 9120






M5-0-7

Supported

9121 9122






M5-0-8

Supported

9123 9124






M5-0-9

Supported

9125






M5-0-10

Supported

9126






M5-0-11

Supported

9128






M5-0-12

Not supported






A5-0-2

Supported

9177






M5-0-14

Supported

9178






M5-0-15

Supported

947 9016 9264






M5-0-16

Supported

415 416 661 662






M5-0-17

Assistance provided8

947






A5-0-4

Supported

1952






M5-0-18

Assistance provided9

946






A5-0-3

Supported

9025






M5-0-20

Supported

9172






M5-0-21

Supported

9130






A5-1-1

Not supported






A5-1-2

Supported

1970






A5-1-3

Supported

9424






A5-1-4

Not supported






A5-1-6

Supported

3903






A5-1-7

Supported

9426






A5-1-8

Supported

9442






A5-1-9

Not supported






M5-2-2

Supported

1774 1939






M5-2-3

Supported

9171






A5-2-1

Supported

586






A5-2-2

Supported

1924 1954






A5-2-3

Supported

9005






M5-2-6

Supported

611






A5-2-4

Supported

586






A5-2-6

Supported

9241






M5-2-8

Supported

9010 9079






M5-2-9

Supported

9091






M5-2-10

Supported

9049






M5-2-11

Supported

1753






A5-2-5

Supported

415 416 661 662






M5-2-12

Supported

9132






M5-3-1

Supported

9133






M5-3-2

Supported

9134






M5-3-3

Supported

9135






M5-3-4

Supported

9006






A5-3-1

Supported

9414






A5-3-2

Supported

413 613






A5-3-3

Supported

1404






A5-5-1

Not supported






A5-6-1

Partially supported10

414






M5-8-1

Supported

9136






A5-10-1

Not supported






M5-14-1

Supported

9007






A5-16-1

Not supported






M5-17-1

Not statically checkable






M5-18-1

Supported

9008






M5-19-1

Not supported






M6-2-1

Supported

720 820 9084






A6-2-1

Not supported






A6-2-2

Not supported






M6-2-2

Supported

777 9252






M6-2-3

Supported

9138






M6-3-1

Supported

9012






M6-4-1

Supported

9012






M6-4-2

Supported

9013






M6-4-3

Supported

9042






M6-4-4

Supported

9055






M6-4-5

Supported

9090






M6-4-6

Supported

744 787 9139






M6-4-7

Supported

483






A6-4-1

Supported

9181






A6-5-1

Not supported






A6-5-2

Supported

9009 9191 9192






M6-5-2

Supported

2840






M6-5-3

Supported

850






M6-5-4

Supported

9193






M6-5-5

Supported

9194 9195






M6-5-6

Supported

9196






A6-5-3

Supported

9456






A6-5-4

Not supported






A6-6-1

Supported

801






M6-6-1

Supported

9041






M6-6-2

Supported

107 9064






M6-6-3

Supported

9140






A7-1-1

Partially supported11

843 952 953






A7-1-2

Partially supported12

1803






M7-1-2

Supported

818 1764






A7-1-3

Supported

9183






A7-1-4

Supported

586






A7-1-5

Supported

1955






A7-1-6

Supported

9416






A7-1-7

Partially supported13

9146 9189






A7-1-8

Supported

618 2618






A7-1-9

Supported

9428






A7-2-1

Not supported






A7-2-2

Supported

9418






A7-2-3

Supported

9419






A7-2-4

Supported

9148






A7-2-5

Not statically checkable






M7-3-1

Supported

9141 9162






M7-3-2

Supported

9142






M7-3-3

Supported

1751






M7-3-4

Supported

9144






A7-3-1

Supported

1511 3717






M7-3-6

Supported

9145






A7-4-1

Supported

586






M7-4-1

Not statically checkable






M7-4-2

Supported






M7-4-3

Supported

9220 9221






M7-5-1

Supported

604






M7-5-2

Supported

789






A7-5-1

Supported

1780 3780






A7-5-2

Supported

9070






A7-6-1

Supported

2436






M8-0-1

Supported

9146






A8-2-1

Supported

9206






M8-3-1

Supported

1735






A8-4-1

Supported

9165






M8-4-2

Supported

9072 9272






A8-4-2

Supported

533






M8-4-4

Supported

9147






A8-4-3

Not statically checkable






A8-4-4

Supported

3915






A8-4-5

Supported

3910






A8-4-6

Supported

3715 3716






A8-4-7

Not supported






A8-4-8

Supported

3915






A8-4-9

Supported

1764






A8-4-10

Supported

613 668






A8-4-11

Not supported






A8-4-12

Not supported






A8-4-13

Not supported






A8-4-14

Not statically checkable






A8-5-0

Supported

530






A8-5-1

Supported

1729






M8-5-2

Supported

940






A8-5-2

Supported

9453






A8-5-3

Supported

9415






A8-5-4

Not supported






M9-3-1

Supported

1537 3537






A9-3-1

Not supported






M9-3-3

Partially supported14

1762






A9-5-1

Supported

9018






M9-6-1

Not statically checkable






A9-6-1

Not supported






A9-6-2

Not statically checkable






M9-6-4

Supported

9088






A10-0-1

Not statically checkable






A10-0-2

Not statically checkable






A10-1-1

Supported

9432






M10-1-1

Supported

9174






M10-1-2

Supported

1749






M10-1-3

Supported

1748






M10-2-1

Supported

9249






A10-2-1

Supported

1511






A10-3-1

Supported

9422






A10-3-2

Supported

9421






A10-3-3

Supported

1779






A10-3-5

Supported

9407 9410 9438






M10-3-3

Supported

9170






A10-4-1

Not statically checkable






M11-0-1

Supported

9150






A11-0-1

Supported

9437






A11-0-2

Supported

9242 9243 9244 9245 9246






A11-3-1

Supported

9435






A12-0-1

Supported

3713 3913






A12-0-2

Partially supported15

1415






A12-1-1

Supported

1401 1928






M12-1-1

Partially supported16

1506






A12-1-2

Supported

1947






A12-1-3

Not supported






A12-1-4

Supported

9169






A12-1-5

Supported

1950






A12-1-6

Not supported






A12-4-1

Supported

1801






A12-4-2

Supported

9441






A12-6-1

Not supported






A12-7-1

Not supported






A12-8-1

Not supported






A12-8-2

Not supported






A12-8-3

Supported

1424 1765






A12-8-4

Not supported






A12-8-5

Supported

1529






A12-8-6

Supported

1957






A12-8-7

Supported

9185






A13-1-2

Supported

3714 9514






A13-1-3

Supported

9266 9267






A13-2-1

Supported

9447 9448






A13-2-2

Not supported






A13-2-3

Supported

9186






A13-3-1

Not supported






A13-5-1

Supported

9187






A13-5-2

Supported

1930






A13-5-3

Supported

1912






A13-5-4

Supported

9239






A13-5-5

Supported

9444 9445 9446






A13-6-1

Supported

9440






A14-1-1

Not statically checkable






A14-5-1

Supported

1789 1804 1805






A14-5-2

Not supported






A14-5-3

Supported

9248






M14-5-3

Supported

1797






M14-6-1

Supported

9250






A14-7-1

Not supported






A14-7-2

Partially supported17

1576






A14-8-2

Not supported






A15-0-1

Not statically checkable






A15-0-2

Not supported






A15-0-3

Not statically checkable






A15-0-4

Not statically checkable






A15-0-5

Not statically checkable






A15-0-6

Not statically checkable






A15-0-7

Not supported






A15-0-8

Not statically checkable






A15-1-1

Supported

3902






A15-1-2

Supported

9154






M15-0-3

Supported

163 164






M15-1-1

Not supported






M15-1-2

Supported

1419






M15-1-3

Supported

9156






A15-1-3

Supported

9302 9303






A15-1-4

Not supported






A15-1-5

Not statically checkable






A15-2-1

Supported

3712 3912






A15-2-2

Not supported






M15-3-1

Not supported






A15-3-2

Not statically checkable






A15-3-3

Not supported






A15-3-4

Not statically checkable






M15-3-3

Supported

3433






M15-3-4

Not supported






A15-3-5

Partially supported18

1752






M15-3-6

Supported

1775






M15-3-7

Supported

1127






A15-4-1

Supported

1906






A15-4-2

Not supported






A15-4-3

Supported

1548 1562 3548






A15-4-4

Not supported






A15-4-5

Not supported






A15-5-1

Supported

9470






A15-5-2

Supported

586 9156






A15-5-3

Partially supported19

9156






A16-0-1

Partially supported20

586 886 9021 9026






M16-0-1

Supported

9019






M16-0-2

Supported

9158 9159






M16-0-5

Supported

436






M16-0-6

Supported

9022






M16-0-7

Supported

553






M16-0-8

Supported

16 544 9160






M16-1-1

Supported

491






M16-1-2

Supported

8






M16-2-3

Supported

967






A16-2-1

Supported

9020






A16-2-2

Not supported






A16-2-3

Not statically checkable






M16-3-1

Supported

9023






M16-3-2

Supported

9024






A16-6-1

Supported

586 886






A16-7-1

Supported

586 886






A17-0-1

Supported

9093






M17-0-2

Supported

9093






M17-0-3

Not supported






A17-0-2

Not statically checkable






M17-0-5

Supported

586






A17-1-1

Not statically checkable






A17-6-1

Not supported






A18-0-1

Supported

829






A18-0-2

Partially supported21

586






M18-0-3

Supported

586






M18-0-4

Supported

586






M18-0-5

Supported

586






A18-0-3

Supported

586 829






A18-1-1

Supported

9436






A18-1-2

Supported

586






A18-1-3

Supported

586






A18-1-4

Not supported






A18-1-6

Not supported






M18-2-1

Supported

586






A18-5-1

Supported

586






A18-5-2

Not supported






A18-5-3

Supported

424






A18-5-4

Supported

3904






A18-5-5

Not supported






A18-5-6

Not statically checkable






A18-5-7

Not statically checkable






A18-5-8

Not supported






A18-5-9

Supported

3407 3435 3436






A18-5-10

Partially supported22

3437 3438






A18-5-11

Supported

3709 3710






M18-7-1

Supported

586






A18-9-1

Supported

586






A18-9-2

Not supported






A18-9-3

Supported

3711






A18-9-4

Supported

3905






M19-3-1

Supported

586






A20-8-1

Not supported






A20-8-2

Not supported






A20-8-3

Not supported






A20-8-4

Not supported






A20-8-5

Not supported






A20-8-6

Not supported






A20-8-7

Not statically checkable






A21-8-1

Supported

2506






A23-0-1

Not supported






A23-0-2

Not supported






A25-1-1

Not supported






A25-4-1

Not statically checkable






A26-5-1

Supported

586






A26-5-2

Not supported






M27-0-1

Supported

586






A27-0-1

Not statically checkable






A27-0-4

Not supported






A27-0-2

Not supported






A27-0-3

Not supported






1Unreferenced global non-static variables are not reported
2The exemption for loop control variables is not honored
3Unused private methods and functions defined in anonymous namespaces are not reported
4Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
5Many Standard C math functions are checked for arguments that will result in domain errors
6The following uses of deprecated features are reported: incrementing an expression of Boolean type, use of the register keyword, use of an exception specification, use of std::random_shuffle, calls to std::ptr_fun; std::mem_fun; or std::mem_fun_ref, and calls to std::bind1st or std::bind2nd. Additionally, many instances of non-conformant syntactic or semantic compilation errors are diagnosed by messages in the ‘error’ message category without appended text citing this rule.
7Only global objects with external linkage that could be defined within a function are reported
8Reports all pointer subtractions
9Reports all pointer relational operations
10Diagnoses cases where PC-lint Plus determines a likely potential for modulus or division by zero
11Reports variables that are translation-unit-local
12Reports variables that are translation-unit-local
13Reports all declarations containing multiple declarators, and expression statements that occur on the same line.
14"could be static" not supported
15Calls to functions like memcpy, memcmp, memmove with pointer to non-POD types are reported.
16Doesn’t report on use of typeid or dynamic_cast of dynamic type
17Function template specializations declared in different files from the primary template are reported
18Issued when throwing non-class objects (e.g. pointers)
19Doesn’t report all cases std::terminate is implicitly called
20Reports on the use of #line, #error, #pragma, #undef, and null directives and function-like macro definitions
21The use of atof, atoi, and atol are diagnosed.
22Subsequent use of pointers passed to placement new, and pointer arguments whose pointees are defined outside the current module, are not reported

13.3 AUTOSAR17

13.3.1 AUTOSAR17 Guideline Support Summary

Supported

248

80.8%




Comprehensive

228

74.3%




Partial

18

5.9%




Assistance

2

0.7%




Not Supported

59

19.2%




Not Statically Checkable

29




TOTAL

336




13.3.2 AUTOSAR17 Guideline Support Matrix






M0-1-1

Supported

527 681 685 774 827 944






M0-1-2

Supported

685 774 827 944






M0-1-3

Supported

528 529 714 752 757 1715






M0-1-4

Partially supported1

528 529 550 551 552






M0-1-5

Supported

751 753 756 758






A0-1-1

Partially supported2

438 838






A0-1-2

Supported

534






M0-1-8

Supported

9175






M0-1-9

Supported

438 587 685 774 838 944 948






M0-1-10

Supported

528 714 1714 1914






A0-1-3

Partially supported3

528






M0-1-11

Supported

715 9215






M0-1-12

Not supported






M0-2-1

Partially supported4

464 2507






M0-3-1

Not statically checkable






M0-3-2

Not supported






M0-4-1

Not statically checkable






M0-4-2

Not statically checkable






A0-4-1

Not statically checkable






A0-4-2

Supported

586






A0-4-3

Not statically checkable






A1-1-1

Partially supported5

586 1407 1906






M1-0-2

Not statically checkable






A1-1-2

Not statically checkable






A1-1-3

Not statically checkable






A1-2-1

Not statically checkable






A1-4-1

Not supported






A1-4-2

Not supported






A2-2-1

Not supported






A2-5-1

Supported

584 739






A2-6-1

Supported

9102






A2-8-1

Supported

427






A2-8-2

Not statically checkable

9155






A2-8-3

Not supported






A2-8-4

Supported

1904






A2-9-1

Not supported






M2-10-1

Not supported






A2-11-1

Supported

578






M2-10-3

Supported

9276






A2-11-2

Not supported






A2-11-3

Not supported






A2-11-4

Not supported






A2-11-5

Supported

9103






M2-10-6

Supported

18






A2-14-1

Supported

606






M2-13-2

Supported

9001 9104






M2-13-3

Supported

9105






M2-13-4

Supported

9106






A2-14-2

Supported

1107






A2-14-3

Supported

586






A3-1-1

Supported

9107






A3-1-2

Not supported






A3-1-3

Not supported






M3-1-2

Supported

1798 9108






A3-1-4

Supported

9067






M3-2-1

Supported

18 31






M3-2-2

Supported

15 31






M3-2-3

Supported

9004






M3-2-4

Supported

2467 2469






A3-3-1

Not supported






A3-3-2

Supported

1756






M3-3-2

Supported

401 839






M3-4-1

Partially supported6

9003






M3-9-1

Partially supported

9073 9094 9168






A3-9-1

Supported

586






M3-9-3

Supported

2498 2499 9110






M4-5-1

Supported

9111






A4-5-1

Not supported






M4-5-3

Supported

9112






A4-7-1

Not supported






M4-10-1

Not supported






A4-10-1

Supported

910






M4-10-2

Supported

910






A5-0-1

Supported

564






M5-0-2

Supported

9113






M5-0-3

Supported

9114 9116






M5-0-4

Supported

9117






M5-0-5

Supported

9115 9118






M5-0-6

Supported

9119 9120






M5-0-7

Supported

9121 9122






M5-0-8

Supported

9123 9124






M5-0-9

Supported

9125






M5-0-10

Supported

9126






M5-0-11

Supported

9128






M5-0-12

Not supported






A5-0-2

Supported

9177






M5-0-14

Supported

9178






M5-0-15

Supported

947 9016 9264






M5-0-16

Supported

415 416 661 662






M5-0-17

Assistance provided7

947






M5-0-18

Assistance provided8

946






A5-0-3

Supported

9025






M5-0-20

Supported

9172






M5-0-21

Supported

9130






A5-1-1

Not supported






A5-1-2

Supported

1970






A5-1-3

Supported

9424






A5-1-4

Not supported






A5-1-5

Not supported






A5-1-6

Supported

3903






A5-1-7

Supported

9426






A5-1-8

Supported

9442






M5-2-1

Supported

9131






M5-2-2

Supported

1774 1939






M5-2-3

Supported

9171






A5-2-1

Supported

586






A5-2-2

Supported

1924 1954






A5-2-3

Supported

9005






M5-2-6

Supported

611






A5-2-4

Supported

586






M5-2-8

Supported

9010 9079






M5-2-9

Supported

9091






M5-2-10

Supported

9049






M5-2-11

Supported

1753






A5-2-5

Supported

415 416 661 662






M5-2-12

Supported

9132






M5-3-1

Supported

9133






M5-3-2

Supported

9134






M5-3-3

Supported

9135






M5-3-4

Supported

9006






A5-3-1

Supported

9414






A5-5-1

Partially supported9

414






M5-8-1

Supported

9136






A5-10-1

Not supported






M5-14-1

Supported

9007






A5-16-1

Not supported






M5-17-1

Not supported






M5-18-1

Supported

9008






M5-19-1

Not supported






M6-2-1

Supported

720 820 9084






M6-2-2

Supported

777 9252






M6-2-3

Supported

9138






M6-3-1

Supported

9012






M6-4-1

Supported

9012






M6-4-2

Supported

9013






M6-4-3

Supported

9042






M6-4-4

Supported

9055






M6-4-5

Supported

9090






M6-4-6

Supported

744 787 9139






M6-4-7

Supported

483






A6-4-1

Supported

9181






A6-5-1

Not supported






A6-5-2

Supported

9009 9191 9192






M6-5-2

Supported

2840






M6-5-3

Supported

850






M6-5-4

Supported

9193






M6-5-5

Supported

9194 9195






M6-5-6

Supported

9196






A6-6-1

Supported

801






M6-6-1

Supported

9041






M6-6-2

Supported

107 9064






M6-6-3

Supported

9140






A7-1-1

Partially supported10

843 952 953






A7-1-2

Partially supported11

1803






M7-1-2

Supported

818 1764






A7-1-3

Supported

9183






A7-1-4

Supported

586






A7-1-5

Supported

1955






A7-1-6

Supported

9416






A7-1-7

Partially supported12

9146






A7-1-8

Supported

618 2618






A7-2-1

Not supported






A7-2-2

Supported

9418






A7-2-3

Supported

9419






A7-2-4

Supported

9148






M7-3-1

Supported

9141 9162






M7-3-2

Supported

9142






M7-3-3

Supported

1751






M7-3-4

Supported

9144






M7-3-5

Supported

3717






M7-3-6

Supported

9145






A7-4-1

Supported

586






M7-4-1

Not statically checkable






M7-4-2

Supported






M7-4-3

Supported

9220 9221






M7-5-1

Supported

604






M7-5-2

Supported

789






A7-5-1

Supported

1780 3780






A7-5-2

Supported

9070






M8-0-1

Supported

9146






A8-2-1

Supported

9206






M8-3-1

Supported

1735






A8-4-1

Supported

9165






M8-4-2

Supported

9072 9272






A8-4-2

Supported

533






M8-4-4

Supported

9147






M8-5-1

Supported

530






A8-5-1

Supported

1729






M8-5-2

Supported

940






A8-5-2

Supported

9453






A8-5-3

Supported

9415






A8-5-4

Not statically checkable






M9-3-1

Supported

1537 3537






A9-3-1

Not supported






M9-3-3

Partially supported13

1762






M9-5-1

Supported

9018






M9-6-1

Not statically checkable






A9-6-1

Supported

9420






A10-1-1

Supported

9432






M10-1-1

Supported

9174






M10-1-2

Supported

1749






M10-1-3

Supported

1748






M10-2-1

Supported

9249






A10-2-1

Supported

1511






A10-3-1

Supported

9422






A10-3-2

Supported

9421






A10-3-3

Supported

1779






A10-3-5

Supported

9407 9410 9438






M10-3-3

Supported

9170






M11-0-1

Supported

9150






A11-0-1

Supported

9437






A11-0-2

Supported

9242 9243 9244 9245 9246






A11-3-1

Supported

9435






A12-0-1

Supported

3713 3913






A12-1-1

Supported

1401 1928






M12-1-1

Partially supported14

1506






A12-1-2

Supported

1947






A12-1-3

Not supported






A12-1-4

Supported

9169






A12-4-1

Supported

1801






A12-4-2

Supported

9441






A12-6-1

Not supported






A12-7-1

Not supported






A12-8-1

Not supported






A12-8-2

Not supported






A12-8-3

Supported

1424 1765






A12-8-4

Not supported






A12-8-5

Supported

1529






A12-8-6

Supported

1957






A12-8-7

Supported

9185






A13-1-1

Supported

9433 9434






A13-1-2

Supported

3714 9514






A13-1-3

Supported

9266 9267






A13-2-1

Supported

9447 9448






A13-2-2

Not supported






A13-2-3

Supported

9186






A13-3-1

Not supported






A13-5-1

Supported

9187






A13-6-1

Supported

9440






A14-1-1

Not statically checkable






M14-5-2

Supported

1789






M14-5-3

Partially supported

1797






M14-6-1

Supported

9250






A14-7-1

Not supported






M14-7-3

Partially supported15

1576






M14-8-1

Not supported






A14-8-1

Supported

9153






A15-0-1

Not statically checkable






A15-0-2

Not supported






A15-0-3

Not statically checkable






A15-0-4

Not statically checkable






A15-0-5

Not statically checkable






A15-0-6

Not statically checkable






A15-0-7

Not supported






A15-0-8

Not statically checkable






A15-1-1

Supported

3902






A15-1-2

Supported

9154






M15-0-3

Supported

163 164






M15-1-1

Not supported






M15-1-2

Supported

1419






M15-1-3

Supported

9156






A15-1-3

Supported

9302 9303






A15-1-4

Not supported






A15-1-5

Not statically checkable






A15-2-1

Supported

3712 3912






A15-2-2

Not supported






M15-3-1

Not supported






A15-3-1

Not supported






A15-3-2

Not statically checkable






A15-3-3

Not supported






A15-3-4

Not statically checkable






M15-3-3

Supported

3433






M15-3-4

Not supported






A15-3-5

Partially supported16

1752






M15-3-6

Supported

1775






M15-3-7

Supported

1127






A15-4-1

Supported

1906






A15-4-2

Not supported






A15-4-3

Supported

1548 1562 3548






A15-4-4

Not supported






A15-4-5

Not supported






A15-4-6

Not supported






A15-5-1

Supported

9470






A15-5-2

Supported

586 9156






A15-5-3

Partially supported17

9156






A16-0-1

Partially supported18

586 886 9021 9026






M16-0-1

Supported

9019






M16-0-2

Supported

9158 9159






M16-0-5

Supported

436






M16-0-6

Supported

9022






M16-0-7

Supported

553






M16-0-8

Supported

16 544 9160






M16-1-1

Supported

491






M16-1-2

Supported

8






M16-2-3

Supported

967






A16-2-1

Supported

9020






A16-2-2

Not supported






A16-2-3

Not statically checkable






M16-3-1

Supported

9023






M16-3-2

Supported

9024






A16-6-1

Supported

586 886






A16-7-1

Supported

586 886






A17-0-1

Supported

9093






M17-0-2

Supported

9093






M17-0-3

Not supported






M17-0-5

Supported

586






A17-1-1

Not statically checkable






A18-0-1

Supported

829






A18-0-2

Supported

586






M18-0-3

Supported

586






M18-0-4

Supported

586






M18-0-5

Supported

586






A18-0-3

Supported

586 829






A18-1-1

Supported

9436






A18-1-2

Supported

586






A18-1-3

Supported

586






A18-1-4

Not supported






A18-1-5

Not supported






M18-2-1

Supported

586






A18-5-1

Supported

586






A18-5-2

Not supported






A18-5-3

Supported

424






A18-5-4

Supported

3904






A18-5-5

Not statically checkable






A18-5-6

Not statically checkable






A18-5-7

Not statically checkable






M18-7-1

Supported

586






A18-9-1

Supported

586






A18-9-2

Not supported






A18-9-3

Supported

3711






A18-9-4

Supported

3905






M19-3-1

Supported

586






A23-0-1

Not supported






M27-0-1

Supported

586






A27-0-1

Not statically checkable






A27-0-2

Not supported






1Unreferenced global non-static variables are not reported
2The exemption for loop control variables is not honored
3Unused private methods are not reported
4Reports overlapping assignments of arrays/unions and attempts to copy an object onto itself
5The following uses of deprecated features are reported: incrementing an expression of Boolean type, use of the register keyword, use of an exception specification, use of std::random_shuffle, calls to std::ptr_fun; std::mem_fun; or std::mem_fun_ref, and calls to std::bind1st or std::bind2nd. Additionally, many instances of non-conformant syntactic or semantic compilation errors are diagnosed by messages in the ‘error’ message category without appended text citing this rule.
6Only global objects with external linkage that could be defined within a function are reported
7Reports all pointer subtractions
8Reports all pointer relational operations
9Diagnoses cases where PC-lint Plus determines a likely potential for modulus or division by zero
10Reports variables that are translation-unit-local
11Reports variables that are translation-unit-local
12Reports all declarations containing multiple declarators
13"could be static" not supported
14Doesn’t report on use of typeid or dynamic_cast of dynamic type
15Only violations involving function template specializations are reported
16Issued when throwing non-class objects (e.g. pointers)
17Doesn’t report all cases std::terminate is implicitly called
18Reports on the use of #line, #error, #pragma, #undef, and null directives and function-like macro definitions