@@ -4,53 +4,16 @@ import RuleMetadata
44import codingstandards.cpp.exclusions.RuleMetadata
55
66newtype UndefinedQuery =
7- TUndefinedBehaviorQuery ( ) or
8- TCriticalUnspecifiedBehaviorQuery ( ) or
9- TUndefinedBehaviorAuditQuery ( ) or
10- TCriticalUnspecifiedBehaviorAuditQuery ( ) or
117 TPossibleDataRaceBetweenThreadsQuery ( ) or
128 TDivisionByZeroUndefinedBehaviorQuery ( ) or
139 TDeallocationTypeMismatchQuery ( ) or
1410 TStringLiteralPossiblyModifiedAuditQuery ( ) or
15- TOutOfRangeEnumCastCriticalUnspecifiedBehaviorQuery ( )
11+ TOutOfRangeEnumCastCriticalUnspecifiedBehaviorQuery ( ) or
12+ TNullPointerToMemberAccessUndefinedBehaviorQuery ( ) or
13+ TUninitializedStaticPointerToMemberUndefinedBehaviorQuery ( ) or
14+ TNonExistentMemberAccessUndefinedBehaviorQuery ( )
1615
1716predicate isUndefinedQueryMetadata ( Query query , string queryId , string ruleId , string category ) {
18- query =
19- // `Query` instance for the `undefinedBehavior` query
20- UndefinedPackage:: undefinedBehaviorQuery ( ) and
21- queryId =
22- // `@id` for the `undefinedBehavior` query
23- "cpp/misra/undefined-behavior" and
24- ruleId = "RULE-4-1-3" and
25- category = "required"
26- or
27- query =
28- // `Query` instance for the `criticalUnspecifiedBehavior` query
29- UndefinedPackage:: criticalUnspecifiedBehaviorQuery ( ) and
30- queryId =
31- // `@id` for the `criticalUnspecifiedBehavior` query
32- "cpp/misra/critical-unspecified-behavior" and
33- ruleId = "RULE-4-1-3" and
34- category = "required"
35- or
36- query =
37- // `Query` instance for the `undefinedBehaviorAudit` query
38- UndefinedPackage:: undefinedBehaviorAuditQuery ( ) and
39- queryId =
40- // `@id` for the `undefinedBehaviorAudit` query
41- "cpp/misra/undefined-behavior-audit" and
42- ruleId = "RULE-4-1-3" and
43- category = "required"
44- or
45- query =
46- // `Query` instance for the `criticalUnspecifiedBehaviorAudit` query
47- UndefinedPackage:: criticalUnspecifiedBehaviorAuditQuery ( ) and
48- queryId =
49- // `@id` for the `criticalUnspecifiedBehaviorAudit` query
50- "cpp/misra/critical-unspecified-behavior-audit" and
51- ruleId = "RULE-4-1-3" and
52- category = "required"
53- or
5417 query =
5518 // `Query` instance for the `possibleDataRaceBetweenThreads` query
5619 UndefinedPackage:: possibleDataRaceBetweenThreadsQuery ( ) and
@@ -95,37 +58,36 @@ predicate isUndefinedQueryMetadata(Query query, string queryId, string ruleId, s
9558 "cpp/misra/out-of-range-enum-cast-critical-unspecified-behavior" and
9659 ruleId = "RULE-4-1-3" and
9760 category = "required"
61+ or
62+ query =
63+ // `Query` instance for the `nullPointerToMemberAccessUndefinedBehavior` query
64+ UndefinedPackage:: nullPointerToMemberAccessUndefinedBehaviorQuery ( ) and
65+ queryId =
66+ // `@id` for the `nullPointerToMemberAccessUndefinedBehavior` query
67+ "cpp/misra/null-pointer-to-member-access-undefined-behavior" and
68+ ruleId = "RULE-4-1-3" and
69+ category = "required"
70+ or
71+ query =
72+ // `Query` instance for the `uninitializedStaticPointerToMemberUndefinedBehavior` query
73+ UndefinedPackage:: uninitializedStaticPointerToMemberUndefinedBehaviorQuery ( ) and
74+ queryId =
75+ // `@id` for the `uninitializedStaticPointerToMemberUndefinedBehavior` query
76+ "cpp/misra/uninitialized-static-pointer-to-member-undefined-behavior" and
77+ ruleId = "RULE-4-1-3" and
78+ category = "required"
79+ or
80+ query =
81+ // `Query` instance for the `nonExistentMemberAccessUndefinedBehavior` query
82+ UndefinedPackage:: nonExistentMemberAccessUndefinedBehaviorQuery ( ) and
83+ queryId =
84+ // `@id` for the `nonExistentMemberAccessUndefinedBehavior` query
85+ "cpp/misra/non-existent-member-access-undefined-behavior" and
86+ ruleId = "RULE-4-1-3" and
87+ category = "required"
9888}
9989
10090module UndefinedPackage {
101- Query undefinedBehaviorQuery ( ) {
102- //autogenerate `Query` type
103- result =
104- // `Query` type for `undefinedBehavior` query
105- TQueryCPP ( TUndefinedPackageQuery ( TUndefinedBehaviorQuery ( ) ) )
106- }
107-
108- Query criticalUnspecifiedBehaviorQuery ( ) {
109- //autogenerate `Query` type
110- result =
111- // `Query` type for `criticalUnspecifiedBehavior` query
112- TQueryCPP ( TUndefinedPackageQuery ( TCriticalUnspecifiedBehaviorQuery ( ) ) )
113- }
114-
115- Query undefinedBehaviorAuditQuery ( ) {
116- //autogenerate `Query` type
117- result =
118- // `Query` type for `undefinedBehaviorAudit` query
119- TQueryCPP ( TUndefinedPackageQuery ( TUndefinedBehaviorAuditQuery ( ) ) )
120- }
121-
122- Query criticalUnspecifiedBehaviorAuditQuery ( ) {
123- //autogenerate `Query` type
124- result =
125- // `Query` type for `criticalUnspecifiedBehaviorAudit` query
126- TQueryCPP ( TUndefinedPackageQuery ( TCriticalUnspecifiedBehaviorAuditQuery ( ) ) )
127- }
128-
12991 Query possibleDataRaceBetweenThreadsQuery ( ) {
13092 //autogenerate `Query` type
13193 result =
@@ -160,4 +122,25 @@ module UndefinedPackage {
160122 // `Query` type for `outOfRangeEnumCastCriticalUnspecifiedBehavior` query
161123 TQueryCPP ( TUndefinedPackageQuery ( TOutOfRangeEnumCastCriticalUnspecifiedBehaviorQuery ( ) ) )
162124 }
125+
126+ Query nullPointerToMemberAccessUndefinedBehaviorQuery ( ) {
127+ //autogenerate `Query` type
128+ result =
129+ // `Query` type for `nullPointerToMemberAccessUndefinedBehavior` query
130+ TQueryCPP ( TUndefinedPackageQuery ( TNullPointerToMemberAccessUndefinedBehaviorQuery ( ) ) )
131+ }
132+
133+ Query uninitializedStaticPointerToMemberUndefinedBehaviorQuery ( ) {
134+ //autogenerate `Query` type
135+ result =
136+ // `Query` type for `uninitializedStaticPointerToMemberUndefinedBehavior` query
137+ TQueryCPP ( TUndefinedPackageQuery ( TUninitializedStaticPointerToMemberUndefinedBehaviorQuery ( ) ) )
138+ }
139+
140+ Query nonExistentMemberAccessUndefinedBehaviorQuery ( ) {
141+ //autogenerate `Query` type
142+ result =
143+ // `Query` type for `nonExistentMemberAccessUndefinedBehavior` query
144+ TQueryCPP ( TUndefinedPackageQuery ( TNonExistentMemberAccessUndefinedBehaviorQuery ( ) ) )
145+ }
163146}
0 commit comments