blob: 7b0293015da89a5c5b02e9404afa246e5d5d0fe4 [file] [log] [blame]
Sandrine Bailleuxa0491fd2024-01-26 13:41:27 +01001Seq,Dir / Rule,Number,Source,Category,Checker Enabled,Enforced,Comments
21,D,1.1,MISRA C 2012,Required,N/A,Yes,
32,D,2.1,MISRA C 2012,Required,N/A,Yes,
43,D,3.1,MISRA C 2012,Required,N/A,No,It cant be done retroactively.
54,D,4.1,MISRA C 2012,Required,N/A,Yes,
65,D,4.2,MISRA C 2012,Advisory,N/A,Yes,
76,D,4.3,MISRA C 2012,Required,Yes,Yes,
87,D,4.4,MISRA C 2012,Advisory,Yes,Yes,
98,D,4.5,MISRA C 2012,Advisory,Yes,Yes,
109,D,4.6,MISRA C 2012,Advisory,No,No,We use a mix of both. It would be too disruptive for the project to change.
1110,D,4.7,MISRA C 2012,Required,Yes,Yes,
1211,D,4.8,MISRA C 2012,Advisory,No,No,Fixing all instances would involve invasive changes to the codebase for no good reason.
1312,D,4.9,MISRA C 2012,Advisory,No,No,"We mustn’t introduce new macros unless strictly needed, but this affects assert(), INFO(), etc. It creates too much noise in the report for little gain."
1413,D,4.10,MISRA C 2012,Required,Yes,Yes,
1514,D,4.11,MISRA C 2012,Required,Yes,Yes,
1615,D,4.12,MISRA C 2012,Required,Yes,Yes,
1716,D,4.13,MISRA C 2012,Advisory,Yes,Yes,
1817,D,4.14,MISRA C 2012 AMD-1,Required,Yes,Yes,
1918,R,1.1,MISRA C 2012,Required,Yes,Yes,
2019,R,1.2,MISRA C 2012,Advisory,Yes,Optional,It bans __attribute__(()) and similar helpers.
2120,R,1.3,MISRA C 2012,Required,N/A,Yes,
2221,R,2.1,MISRA C 2012,Required,Yes,Yes,
2322,R,2.2,MISRA C 2012,Required,Yes,Yes,
2423,R,2.3,MISRA C 2012,Advisory,Yes,Optional,It prevents the usage of CASSERT().
2524,R,2.4,MISRA C 2012,Advisory,No,No,Header files may use enumerations instead of defines to group sets of values.
2625,R,2.5,MISRA C 2012,Advisory,No,No,We define many headers with macros that are unused in the project but may be used by non-upstream code or may be desirable for completeness.
2726,R,2.6,MISRA C 2012,Advisory,Yes,Yes,
2827,R,2.7,MISRA C 2012,Advisory,No,No,Doesn't allow for simple implementations of porting functions that don't require all parameters.
2928,R,3.1,MISRA C 2012,Required,Yes,Yes,
3029,R,3.2,MISRA C 2012,Required,Yes,Yes,
3130,R,4.1,MISRA C 2012,Required,Yes,Yes,
3231,R,4.2,MISRA C 2012,Advisory,Yes,Yes,
3332,R,5.1,MISRA C 2012,Required,No,No,We use weak symbols that prevent us from complying with this rule.
3433,R,5.2,MISRA C 2012,Required,Yes,Yes,
3534,R,5.3,MISRA C 2012,Required,Yes,Yes,
3635,R,5.4,MISRA C 2012,Required,Yes,Yes,
3736,R,5.5,MISRA C 2012,Required,Yes,Yes,
3837,R,5.6,MISRA C 2012,Required,Yes,Yes,
3938,R,5.7,MISRA C 2012,Required,Yes,Optional,Fixing all existing defects is problematic because of compatibility issues.
4039,R,5.8,MISRA C 2012,Required,No,No,We use weak symbols that prevent us from complying with this rule.
4140,R,5.9,MISRA C 2012,Advisory,Yes,Yes,
4241,R,6.1,MISRA C 2012,Required,Yes,Yes,
4342,R,6.2,MISRA C 2012,Required,Yes,Yes,
4443,R,7.1,MISRA C 2012,Required,Yes,Yes,
4544,R,7.2,MISRA C 2012,Required,Yes,Yes,
4645,R,7.3,MISRA C 2012,Required,Yes,Yes,
4746,R,7.4,MISRA C 2012,Required,Yes,Yes,
4847,R,8.1,MISRA C 2012,Required,Yes,Yes,
4948,R,8.2,MISRA C 2012,Required,Yes,Yes,
5049,R,8.3,MISRA C 2012,Required,Yes,Yes,
5150,R,8.4,MISRA C 2012,Required,Yes,Yes,
5251,R,8.5,MISRA C 2012,Required,Yes,Yes,
5352,R,8.6,MISRA C 2012,Required,No,No,We use weak symbols that prevent us from complying with this rule.
5453,R,8.7,MISRA C 2012,Advisory,No,No,"Bans pattern of declaring funcs in private header that are used/defined in separate translation units, which seems over the top."
5554,R,8.8,MISRA C 2012,Required,Yes,Yes,
5655,R,8.9,MISRA C 2012,Advisory,Yes,Yes,
5756,R,8.10,MISRA C 2012,Required,Yes,Yes,
5857,R,8.11,MISRA C 2012,Advisory,Yes,Optional,This may not be possible in some interfaces.
5958,R,8.12,MISRA C 2012,Required,Yes,Yes,
6059,R,8.13,MISRA C 2012,Advisory,Yes,Optional,The benefits of fixing existing code arent worth the effort.
6160,R,8.14,MISRA C 2012,Required,Yes,Yes,
6261,R,9.1,MISRA C 2012,Mandatory,Yes,Yes,
6362,R,9.2,MISRA C 2012,Required,Yes,Yes,
6463,R,9.3,MISRA C 2012,Required,Yes,Yes,
6564,R,9.4,MISRA C 2012,Required,Yes,Yes,
6665,R,9.5,MISRA C 2012,Required,Yes,Yes,
6766,R,10.1,MISRA C 2012,Required,Yes,Optional,Fixing existing code may be counter-productive and introduce bugs.
6867,R,10.2,MISRA C 2012,Required,Yes,Yes,
6968,R,10.3,MISRA C 2012,Required,Yes,Optional,Fixing existing code may be counter-productive and introduce bugs.
7069,R,10.4,MISRA C 2012,Required,Yes,Optional,Fixing existing code may be counter-productive and introduce bugs.
7170,R,10.5,MISRA C 2012,Advisory,Yes,Yes,
7271,R,10.6,MISRA C 2012,Required,Yes,Yes,
7372,R,10.7,MISRA C 2012,Required,Yes,Yes,
7473,R,10.8,MISRA C 2012,Required,Yes,Yes,
7574,R,11.1,MISRA C 2012,Required,Yes,Yes,
7675,R,11.2,MISRA C 2012,Required,Yes,Yes,
7776,R,11.3,MISRA C 2012,Required,Yes,Yes,
7877,R,11.4,MISRA C 2012,Advisory,No,No,This would be invasive for TF (e.g. in exported linker script macros). Also bans conversion from uintptr_t.
7978,R,11.5,MISRA C 2012,Advisory,No,No,"This seems to preclude the pattern of using void * in interfaces to hide the real object, which we use extensively."
8079,R,11.6,MISRA C 2012,Required,Yes,Optional,This is needed in several cases.
8180,R,11.7,MISRA C 2012,Required,Yes,Yes,
8281,R,11.8,MISRA C 2012,Required,Yes,Yes,
8382,R,11.9,MISRA C 2012,Required,Yes,Yes,
8483,R,12.1,MISRA C 2012,Advisory,Yes,Yes,
8584,R,12.2,MISRA C 2012,Required,Yes,Yes,"This rule is fine, but there are lots of false positives in Coverity."
8685,R,12.3,MISRA C 2012,Advisory,Yes,Yes,
8786,R,12.4,MISRA C 2012,Advisory,Yes,Yes,
8887,R,12.5,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
8988,R,13.1,MISRA C 2012,Required,Yes,Yes,
9089,R,13.2,MISRA C 2012,Required,Yes,Yes,
9190,R,13.3,MISRA C 2012,Advisory,Yes,Yes,
9291,R,13.4,MISRA C 2012,Advisory,Yes,Yes,
9392,R,13.5,MISRA C 2012,Required,Yes,Yes,
9493,R,13.6,MISRA C 2012,Mandatory,Yes,Yes,
9594,R,14.1,MISRA C 2012,Required,Yes,Yes,
9695,R,14.2,MISRA C 2012,Required,Yes,Yes,
9796,R,14.3,MISRA C 2012,Required,Yes,Yes,
9897,R,14.4,MISRA C 2012,Required,Yes,Yes,
9998,R,15.1,MISRA C 2012,Advisory,No,No,In some cases goto may be useful for readability.
10099,R,15.2,MISRA C 2012,Required,Yes,Yes,
101100,R,15.3,MISRA C 2012,Required,Yes,Yes,
102101,R,15.4,MISRA C 2012,Advisory,Yes,Yes,
103102,R,15.5,MISRA C 2012,Advisory,No,No,This has no real value. It may make code less understandable than before.
104103,R,15.6,MISRA C 2012,Required,No,No,This directly contradicts the Linux style guidelines and would require many changes. We would have to remove that rule from checkpatch.
105104,R,15.7,MISRA C 2012,Required,Yes,Yes,
106105,R,16.1,MISRA C 2012,Required,No,No,Cannot comply with this unless we comply with 16.3
107106,R,16.2,MISRA C 2012,Required,Yes,Yes,
108107,R,16.3,MISRA C 2012,Required,No,No,Returns within switch statements and fall-throughs can improve readability.
109108,R,16.4,MISRA C 2012,Required,Yes,Yes,
110109,R,16.5,MISRA C 2012,Required,Yes,Yes,
111110,R,16.6,MISRA C 2012,Required,Yes,Yes,
112111,R,16.7,MISRA C 2012,Required,Yes,Yes,
113112,R,17.1,MISRA C 2012,Required,No,No,This is needed for printf.
114113,R,17.2,MISRA C 2012,Required,Yes,Yes,Bans recursion. We consider it acceptable if the max depth is known.
115114,R,17.3,MISRA C 2012,Mandatory,Yes,Yes,
116115,R,17.4,MISRA C 2012,Mandatory,Yes,Yes,
117116,R,17.5,MISRA C 2012,Advisory,Yes,Yes,
118117,R,17.6,MISRA C 2012,Mandatory,Yes,Yes,
119118,R,17.7,MISRA C 2012,Required,Yes,Optional,In some cases it doesnt add any value to the code (like with memset() or printf()).
120119,R,17.8,MISRA C 2012,Advisory,Yes,Optional,It would make some one-line functions grow in size for no reason.
121120,R,18.1,MISRA C 2012,Required,Yes,Yes,
122121,R,18.2,MISRA C 2012,Required,Yes,Yes,
123122,R,18.3,MISRA C 2012,Required,Yes,Yes,
124123,R,18.4,MISRA C 2012,Advisory,Yes,Yes,
125124,R,18.5,MISRA C 2012,Advisory,Yes,Yes,
126125,R,18.6,MISRA C 2012,Required,Yes,Yes,
127126,R,18.7,MISRA C 2012,Required,Yes,Yes,
128127,R,18.8,MISRA C 2012,Required,Yes,Yes,
129128,R,19.1,MISRA C 2012,Mandatory,Yes,Yes,
130129,R,19.2,MISRA C 2012,Advisory,Yes,Optional,"Unions can be useful. We almost don’t use them, so it’s ok."
131130,R,20.1,MISRA C 2012,Advisory,Yes,Optional,In some files we have assembly-compatible includes followed by assembly-compatible definitions followed by C includes and C declarations. This is done to not have #ifdef in the include list.
132131,R,20.2,MISRA C 2012,Required,Yes,Yes,
133132,R,20.3,MISRA C 2012,Required,Yes,Yes,
134133,R,20.4,MISRA C 2012,Required,Yes,Yes,
135134,R,20.5,MISRA C 2012,Advisory,Yes,Yes,
136135,R,20.6,MISRA C 2012,Required,Yes,Yes,
137136,R,20.7,MISRA C 2012,Required,Yes,Yes,
138137,R,20.8,MISRA C 2012,Required,Yes,Optional,We need a new configuration system to fix all defects.
139138,R,20.9,MISRA C 2012,Required,Yes,Optional,"We use a mix of #if and #ifdef for boolean macros, which may raise some failures here. We should consistently use one or the other"
140139,R,20.10,MISRA C 2012,Advisory,Yes,Optional,"It’s good to avoid them, but they are sometimes needed."
141140,R,20.11,MISRA C 2012,Required,Yes,Yes,
142141,R,20.12,MISRA C 2012,Required,Yes,Yes,
143142,R,20.13,MISRA C 2012,Required,Yes,Yes,
144143,R,20.14,MISRA C 2012,Required,Yes,Yes,
145144,R,21.1,MISRA C 2012,Required,Yes,Yes,
146145,R,21.2,MISRA C 2012,Required,Yes,Yes,
147146,R,21.3,MISRA C 2012,Required,Yes,Yes,
148147,R,21.4,MISRA C 2012,Required,Yes,Yes,
149148,R,21.5,MISRA C 2012,Required,Yes,Yes,
150149,R,21.6,MISRA C 2012,Required,No,No,This bans printf.
151150,R,21.7,MISRA C 2012,Required,Yes,Yes,
152151,R,21.8,MISRA C 2012,Required,Yes,Yes,
153152,R,21.9,MISRA C 2012,Required,Yes,Yes,
154153,R,21.10,MISRA C 2012,Required,Yes,Yes,
155154,R,21.11,MISRA C 2012,Required,Yes,Yes,
156155,R,21.12,MISRA C 2012,Advisory,Yes,Yes,
157156,R,21.13,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
158157,R,21.14,MISRA C 2012 AMD-1,Required,Yes,Yes,
159158,R,21.15,MISRA C 2012 AMD-1,Required,Yes,Yes,
160159,R,21.16,MISRA C 2012 AMD-1,Required,Yes,Yes,
161160,R,21.17,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
162161,R,21.18,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
163162,R,21.19,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
164163,R,21.20,MISRA C 2012 AMD-1,Mandatory,Yes,Yes,
165164,R,22.1,MISRA C 2012,Required,Yes,Yes,
166165,R,22.2,MISRA C 2012,Mandatory,Yes,Yes,
167166,R,22.3,MISRA C 2012,Required,Yes,Yes,
168167,R,22.4,MISRA C 2012,Mandatory,Yes,Yes,
169168,R,22.5,MISRA C 2012,Mandatory,Yes,Yes,
170169,R,22.6,MISRA C 2012,Mandatory,Yes,Yes,
171170,R,22.7,MISRA C 2012 AMD-1,Required,Yes,Yes,
172171,R,22.8,MISRA C 2012 AMD-1,Required,Yes,Yes,
173172,R,22.9,MISRA C 2012 AMD-1,Required,Yes,Yes,
174173,R,22.10,MISRA C 2012 AMD-1,Required,Yes,Yes,