Skip to content

Commit 97fabeb

Browse files
authored
Merge pull request #820 from github/michaelrfairhurst/implement-misra-amendment-clarifications
Implement MISRA-C clarifications from amendments3, 4, at TC2.
2 parents 55362d0 + 9beb4e3 commit 97fabeb

File tree

22 files changed

+59
-52
lines changed

22 files changed

+59
-52
lines changed

amendments.csv

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,42 @@ c,MISRA-C-2012,Amendment3,RULE-10-4,Yes,Refine,No,Import
99
c,MISRA-C-2012,Amendment3,RULE-10-5,Yes,Expand,No,Easy
1010
c,MISRA-C-2012,Amendment3,RULE-10-7,Yes,Refine,No,Import
1111
c,MISRA-C-2012,Amendment3,RULE-10-8,Yes,Refine,No,Import
12-
c,MISRA-C-2012,Amendment3,RULE-21-11,Yes,Clarification,No,Import
12+
c,MISRA-C-2012,Amendment3,RULE-21-11,Yes,Clarification,Yes,Import
1313
c,MISRA-C-2012,Amendment3,RULE-21-12,Yes,Replace,No,Easy
1414
c,MISRA-C-2012,Amendment4,RULE-11-3,Yes,Expand,No,Easy
1515
c,MISRA-C-2012,Amendment4,RULE-11-8,Yes,Expand,No,Easy
1616
c,MISRA-C-2012,Amendment4,RULE-13-2,Yes,Expand,No,Very Hard
1717
c,MISRA-C-2012,Amendment4,RULE-18-6,Yes,Expand,No,Medium
1818
c,MISRA-C-2012,Amendment4,RULE-18-8,Yes,Split,Yes,Easy
19-
c,MISRA-C-2012,Corrigendum2,RULE-2-2,Yes,Clarification,No,Import
20-
c,MISRA-C-2012,Corrigendum2,RULE-2-7,Yes,Clarification,No,Import
21-
c,MISRA-C-2012,Corrigendum2,RULE-3-1,Yes,Refine,No,Easy
22-
c,MISRA-C-2012,Corrigendum2,RULE-8-6,Yes,Clarification,No,Import
23-
c,MISRA-C-2012,Corrigendum2,RULE-8-9,Yes,Clarification,No,Import
24-
c,MISRA-C-2012,Corrigendum2,RULE-9-4,Yes,Clarification,No,Import
25-
c,MISRA-C-2012,Corrigendum2,RULE-10-1,Yes,Clarification,No,Import
26-
c,MISRA-C-2012,Corrigendum2,RULE-18-3,Yes,Clarification,No,Import
27-
c,MISRA-C-2012,Corrigendum2,RULE-1-4,Yes,Replace,No,Easy
28-
c,MISRA-C-2012,Corrigendum2,RULE-9-1,Yes,Refine,No,Easy
29-
c,MISRA-C-2012,Corrigendum2,RULE-9-2,Yes,Refine,No,Import
30-
c,MISRA-C-2012,Corrigendum2,DIR-4-10,Yes,Clarification,No,Import
19+
c,MISRA-C-2012,Amendment4,RULE-2-2,Yes,Clarification,Yes,Import
20+
c,MISRA-C-2012,Amendment4,RULE-2-7,Yes,Clarification,Yes,Import
21+
c,MISRA-C-2012,Amendment4,RULE-3-1,Yes,Refine,No,Easy
22+
c,MISRA-C-2012,Amendment4,RULE-8-6,Yes,Clarification,Yes,Import
23+
c,MISRA-C-2012,Amendment4,RULE-8-9,Yes,Clarification,Yes,Import
24+
c,MISRA-C-2012,Amendment4,RULE-9-4,Yes,Clarification,Yes,Import
25+
c,MISRA-C-2012,Amendment4,RULE-10-1,Yes,Clarification,Yes,Import
26+
c,MISRA-C-2012,Amendment4,RULE-18-3,Yes,Clarification,Yes,Import
27+
c,MISRA-C-2012,Amendment4,RULE-1-4,Yes,Replace,No,Easy
28+
c,MISRA-C-2012,Amendment4,RULE-9-1,Yes,Refine,No,Easy
29+
c,MISRA-C-2012,Amendment4,RULE-9-2,Yes,Refine,No,Import
30+
c,MISRA-C-2012,Corrigendum2,DIR-4-10,Yes,Clarification,Yes,Import
3131
c,MISRA-C-2012,Corrigendum2,RULE-7-4,Yes,Refine,No,Easy
32-
c,MISRA-C-2012,Corrigendum2,RULE-8-2,Yes,Clarification,No,Import
32+
c,MISRA-C-2012,Corrigendum2,RULE-8-2,Yes,Clarification,Yes,Import
3333
c,MISRA-C-2012,Corrigendum2,RULE-8-3,Yes,Refine,No,Easy
34-
c,MISRA-C-2012,Corrigendum2,RULE-8-7,Yes,Clarification,No,Import
34+
c,MISRA-C-2012,Corrigendum2,RULE-8-7,Yes,Clarification,Yes,Import
35+
c,MISRA-C-2012,Corrigendum2,RULE-10-1,Yes,Clarification,Yes,Import
3536
c,MISRA-C-2012,Corrigendum2,RULE-10-2,Yes,Refine,No,Easy
36-
c,MISRA-C-2012,Corrigendum2,RULE-10-3,Yes,Clarification,No,Import
37-
c,MISRA-C-2012,Corrigendum2,RULE-11-3,Yes,Clarification,No,Import
38-
c,MISRA-C-2012,Corrigendum2,RULE-11-6,Yes,Clarification,No,Import
39-
c,MISRA-C-2012,Corrigendum2,RULE-13-2,Yes,Clarification,No,Import
40-
c,MISRA-C-2012,Corrigendum2,RULE-13-6,Yes,Clarification,No,Import
37+
c,MISRA-C-2012,Corrigendum2,RULE-10-3,Yes,Clarification,Yes,Import
38+
c,MISRA-C-2012,Corrigendum2,RULE-11-3,Yes,Clarification,Yes,Import
39+
c,MISRA-C-2012,Corrigendum2,RULE-11-6,Yes,Clarification,Yes,Import
40+
c,MISRA-C-2012,Corrigendum2,RULE-13-2,Yes,Clarification,Yes,Import
41+
c,MISRA-C-2012,Corrigendum2,RULE-13-6,Yes,Clarification,Yes,Import
4142
c,MISRA-C-2012,Corrigendum2,RULE-14-3,Yes,Refine,No,Easy
42-
c,MISRA-C-2012,Corrigendum2,RULE-15-7,Yes,Clarification,No,Import
43-
c,MISRA-C-2012,Corrigendum2,RULE-17-4,Yes,Clarification,No,Import
44-
c,MISRA-C-2012,Corrigendum2,RULE-17-5,Yes,Clarification,No,Import
43+
c,MISRA-C-2012,Corrigendum2,RULE-15-7,Yes,Clarification,Yes,Import
44+
c,MISRA-C-2012,Corrigendum2,RULE-17-4,Yes,Clarification,Yes,Import
45+
c,MISRA-C-2012,Corrigendum2,RULE-17-5,Yes,Clarification,Yes,Import
4546
c,MISRA-C-2012,Corrigendum2,RULE-18-1,Yes,Refine,No,Easy
46-
c,MISRA-C-2012,Corrigendum2,RULE-20-14,No,Clarification,No,Import
47-
c,MISRA-C-2012,Corrigendum2,RULE-21-19,Yes,Clarification,No,Import
47+
c,MISRA-C-2012,Corrigendum2,RULE-20-14,No,Clarification,Yes,Import
48+
c,MISRA-C-2012,Corrigendum2,RULE-21-19,Yes,Clarification,Yes,Import
4849
c,MISRA-C-2012,Corrigendum2,RULE-21-20,Yes,Refine,No,Easy
49-
c,MISRA-C-2012,Corrigendum2,RULE-22-9,Yes,Clarification,No,Import
50+
c,MISRA-C-2012,Corrigendum2,RULE-22-9,Yes,Clarification,Yes,Import

c/misra/src/rules/RULE-13-6/SizeofOperandWithSideEffect.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @tags external/misra/id/rule-13-6
1010
* correctness
1111
* external/misra/c/2012/third-edition-first-revision
12-
* external/misra/obligation/mandatory
12+
* external/misra/obligation/required
1313
*/
1414

1515
import cpp

c/misra/src/rules/RULE-17-5/ArrayFunctionArgumentNumberOfElements.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @tags external/misra/id/rule-17-5
1010
* correctness
1111
* external/misra/c/2012/third-edition-first-revision
12-
* external/misra/obligation/advisory
12+
* external/misra/obligation/required
1313
*/
1414

1515
import cpp

c/misra/src/rules/RULE-21-11/StandardHeaderFileTgmathhUsed.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @tags external/misra/id/rule-21-11
99
* correctness
1010
* external/misra/c/2012/third-edition-first-revision
11-
* external/misra/obligation/required
11+
* external/misra/obligation/advisory
1212
*/
1313

1414
import cpp
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
- `RULE-13-6` - `SizeofOperandWithSideEffect.ql`:
2+
- Changed from Mandatory to Required in implementation of Technical Corrigenda 2.
3+
- `RULE-17-5` - `ArrayFunctionArgumentNumberOfElements.ql`:
4+
- Changed from Advisory to Required in implementation of Technical Corrigenda 2.
5+
- `RULE-21-11` - `StandardHeaderFileTgmathhUsed.ql`:
6+
- Changed from Required to Advisory in implementation of Amendment 3.

cpp/common/src/codingstandards/cpp/exclusions/c/Banned.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ predicate isBannedQueryMetadata(Query query, string queryId, string ruleId, stri
7777
// `@id` for the `standardHeaderFileTgmathhUsed` query
7878
"c/misra/standard-header-file-tgmathh-used" and
7979
ruleId = "RULE-21-11" and
80-
category = "required"
80+
category = "advisory"
8181
or
8282
query =
8383
// `Query` instance for the `exceptionHandlingFeaturesOfFenvhUsed` query

cpp/common/src/codingstandards/cpp/exclusions/c/Contracts6.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ predicate isContracts6QueryMetadata(Query query, string queryId, string ruleId,
2525
// `@id` for the `arrayFunctionArgumentNumberOfElements` query
2626
"c/misra/array-function-argument-number-of-elements" and
2727
ruleId = "RULE-17-5" and
28-
category = "advisory"
28+
category = "required"
2929
or
3030
query =
3131
// `Query` instance for the `valueReturnedByAFunctionNotUsed` query

cpp/common/src/codingstandards/cpp/exclusions/c/SideEffects1.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ predicate isSideEffects1QueryMetadata(Query query, string queryId, string ruleId
104104
// `@id` for the `sizeofOperandWithSideEffect` query
105105
"c/misra/sizeof-operand-with-side-effect" and
106106
ruleId = "RULE-13-6" and
107-
category = "mandatory"
107+
category = "required"
108108
}
109109

110110
module SideEffects1Package {

cpp/common/test/deviations/invalid_deviations/coding-standards.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@
8383
<permit-id>DP2</permit-id>
8484
</deviations-entry>
8585
<deviations-entry>
86-
<rule-id>RULE-13-6</rule-id>
87-
<query-id>c/misra/sizeof-operand-with-side-effect</query-id>
86+
<rule-id>RULE-9-1</rule-id>
87+
<query-id>c/misra/object-with-auto-storage-duration-read-before-init</query-id>
8888
</deviations-entry>
8989
</deviations>
9090
<deviation-permits>

cpp/common/test/deviations/invalid_deviations/coding-standards.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ deviations:
4444
permit-id: non-existing-permit
4545
- permit-id: DP1
4646
- permit-id: DP2
47-
- rule-id: RULE-13-6
48-
query-id: c/misra/sizeof-operand-with-side-effect
47+
- rule-id: RULE-9-1
48+
query-id: c/misra/object-with-auto-storage-duration-read-before-init
4949
deviation-permits:
5050
- permit-id: DP1
5151
justification: foo bar baz

0 commit comments

Comments
 (0)