Skip to content

Commit aa040ad

Browse files
committed
checkpoint
1 parent c90fc1d commit aa040ad

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype Language1Query =
7+
TLanguageNotEncapsulatedAndIsolatedQuery() or
8+
TLanguageExtensionsShouldNotBeUsedQuery()
9+
10+
predicate isLanguage1QueryMetadata(Query query, string queryId, string ruleId) {
11+
query =
12+
// `Query` instance for the `languageNotEncapsulatedAndIsolated` query
13+
Language1Package::languageNotEncapsulatedAndIsolatedQuery() and
14+
queryId =
15+
// `@id` for the `languageNotEncapsulatedAndIsolated` query
16+
"c/misra/language-not-encapsulated-and-isolated" and
17+
ruleId = "DIR-4-3"
18+
or
19+
query =
20+
// `Query` instance for the `languageExtensionsShouldNotBeUsed` query
21+
Language1Package::languageExtensionsShouldNotBeUsedQuery() and
22+
queryId =
23+
// `@id` for the `languageExtensionsShouldNotBeUsed` query
24+
"c/misra/language-extensions-should-not-be-used" and
25+
ruleId = "RULE-1-2"
26+
}
27+
28+
module Language1Package {
29+
Query languageNotEncapsulatedAndIsolatedQuery() {
30+
//autogenerate `Query` type
31+
result =
32+
// `Query` type for `languageNotEncapsulatedAndIsolated` query
33+
TQueryC(TLanguage1PackageQuery(TLanguageNotEncapsulatedAndIsolatedQuery()))
34+
}
35+
36+
Query languageExtensionsShouldNotBeUsedQuery() {
37+
//autogenerate `Query` type
38+
result =
39+
// `Query` type for `languageExtensionsShouldNotBeUsed` query
40+
TQueryC(TLanguage1PackageQuery(TLanguageExtensionsShouldNotBeUsedQuery()))
41+
}
42+
}

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

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import IO1
1717
import IO2
1818
import IO3
1919
import IO4
20+
import Language1
2021
import Misc
2122
import Pointers1
2223
import Pointers2
@@ -49,6 +50,7 @@ newtype TCQuery =
4950
TIO2PackageQuery(IO2Query q) or
5051
TIO3PackageQuery(IO3Query q) or
5152
TIO4PackageQuery(IO4Query q) or
53+
TLanguage1PackageQuery(Language1Query q) or
5254
TMiscPackageQuery(MiscQuery q) or
5355
TPointers1PackageQuery(Pointers1Query q) or
5456
TPointers2PackageQuery(Pointers2Query q) or
@@ -81,6 +83,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId) {
8183
isIO2QueryMetadata(query, queryId, ruleId) or
8284
isIO3QueryMetadata(query, queryId, ruleId) or
8385
isIO4QueryMetadata(query, queryId, ruleId) or
86+
isLanguage1QueryMetadata(query, queryId, ruleId) or
8487
isMiscQueryMetadata(query, queryId, ruleId) or
8588
isPointers1QueryMetadata(query, queryId, ruleId) or
8689
isPointers2QueryMetadata(query, queryId, ruleId) or

rule_packages/c/Language1.json

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"MISRA-C-2012": {
3+
"DIR-4-3": {
4+
"properties": {
5+
"obligation": "required"
6+
},
7+
"queries": [
8+
{
9+
"description": "Failing to encapsulate assembly language limits the portability, reliability, and readability of programs.",
10+
"kind": "problem",
11+
"name": "Assembly language shall be encapsulated and isolated",
12+
"precision": "very-high",
13+
"severity": "error",
14+
"short_name": "LanguageNotEncapsulatedAndIsolated",
15+
"tags": [
16+
"maintainability",
17+
"readability"
18+
]
19+
}
20+
],
21+
"title": "Assembly language shall be encapsulated and isolated"
22+
},
23+
"RULE-1-2": {
24+
"properties": {
25+
"obligation": "advisory"
26+
},
27+
"queries": [
28+
{
29+
"description": "The use of language extensions may reduce the portability and reliability of programs.",
30+
"kind": "problem",
31+
"name": "Language extensions should not be used",
32+
"precision": "very-high",
33+
"severity": "error",
34+
"short_name": "LanguageExtensionsShouldNotBeUsed",
35+
"tags": [
36+
"maintainability"
37+
]
38+
}
39+
],
40+
"title": "Language extensions should not be used"
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)