Skip to content

Commit 1043a40

Browse files
Merge pull request #1063 from github/michaelrfairhurst/toolchain3-rule-4-1-2-deprecated-features
Michaelrfairhurst/toolchain3 rule 4-1-2, deprecated features
2 parents cced30c + d156ec2 commit 1043a40

File tree

66 files changed

+1713
-21
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1713
-21
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ import Statements
7979
import Strings
8080
import Templates
8181
import Toolchain
82+
import Toolchain3
8283
import Trigraph
8384
import TrustBoundaries
8485
import TypeRanges
@@ -164,6 +165,7 @@ newtype TCPPQuery =
164165
TStringsPackageQuery(StringsQuery q) or
165166
TTemplatesPackageQuery(TemplatesQuery q) or
166167
TToolchainPackageQuery(ToolchainQuery q) or
168+
TToolchain3PackageQuery(Toolchain3Query q) or
167169
TTrigraphPackageQuery(TrigraphQuery q) or
168170
TTrustBoundariesPackageQuery(TrustBoundariesQuery q) or
169171
TTypeRangesPackageQuery(TypeRangesQuery q) or
@@ -249,6 +251,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId, string cat
249251
isStringsQueryMetadata(query, queryId, ruleId, category) or
250252
isTemplatesQueryMetadata(query, queryId, ruleId, category) or
251253
isToolchainQueryMetadata(query, queryId, ruleId, category) or
254+
isToolchain3QueryMetadata(query, queryId, ruleId, category) or
252255
isTrigraphQueryMetadata(query, queryId, ruleId, category) or
253256
isTrustBoundariesQueryMetadata(query, queryId, ruleId, category) or
254257
isTypeRangesQueryMetadata(query, queryId, ruleId, category) or
Lines changed: 282 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,282 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype Toolchain3Query =
7+
TRedeclarationOfStaticConstexprDataMemberQuery() or
8+
TImplicitDeclarationOfCopyConstructorQuery() or
9+
TImplicitDeclarationOfCopyConstructorAuditQuery() or
10+
TNoexceptSpecifierThrowQuery() or
11+
TUseOfDeprecatedCHeadersQuery() or
12+
TUseOfDeprecatedStrStreamClassQuery() or
13+
TUseOfUncaughtExceptionQuery() or
14+
TUseOfDeprecatedFunctionBinderTypedefMemberQuery() or
15+
TUseOfDeprecatedUnaryOrBinaryNegateQuery() or
16+
TUseOfDeprecatedAllocatorVoidQuery() or
17+
TUseOfDeprecatedStdAllocatorMemberQuery() or
18+
TUseOfDeprecatedRawStorageIteratorQuery() or
19+
TUseOfDeprecatedTemporaryBuffersQuery() or
20+
TUseOfDeprecatedIsLiteralTypeTraitsQuery() or
21+
TUseOfDeprecatedStdIteratorBaseClassQuery() or
22+
TUseOfDeprecatedSharedPtrUniqueQuery()
23+
24+
predicate isToolchain3QueryMetadata(Query query, string queryId, string ruleId, string category) {
25+
query =
26+
// `Query` instance for the `redeclarationOfStaticConstexprDataMember` query
27+
Toolchain3Package::redeclarationOfStaticConstexprDataMemberQuery() and
28+
queryId =
29+
// `@id` for the `redeclarationOfStaticConstexprDataMember` query
30+
"cpp/misra/redeclaration-of-static-constexpr-data-member" and
31+
ruleId = "RULE-4-1-2" and
32+
category = "advisory"
33+
or
34+
query =
35+
// `Query` instance for the `implicitDeclarationOfCopyConstructor` query
36+
Toolchain3Package::implicitDeclarationOfCopyConstructorQuery() and
37+
queryId =
38+
// `@id` for the `implicitDeclarationOfCopyConstructor` query
39+
"cpp/misra/implicit-declaration-of-copy-constructor" and
40+
ruleId = "RULE-4-1-2" and
41+
category = "advisory"
42+
or
43+
query =
44+
// `Query` instance for the `implicitDeclarationOfCopyConstructorAudit` query
45+
Toolchain3Package::implicitDeclarationOfCopyConstructorAuditQuery() and
46+
queryId =
47+
// `@id` for the `implicitDeclarationOfCopyConstructorAudit` query
48+
"cpp/misra/implicit-declaration-of-copy-constructor-audit" and
49+
ruleId = "RULE-4-1-2" and
50+
category = "advisory"
51+
or
52+
query =
53+
// `Query` instance for the `noexceptSpecifierThrow` query
54+
Toolchain3Package::noexceptSpecifierThrowQuery() and
55+
queryId =
56+
// `@id` for the `noexceptSpecifierThrow` query
57+
"cpp/misra/noexcept-specifier-throw" and
58+
ruleId = "RULE-4-1-2" and
59+
category = "advisory"
60+
or
61+
query =
62+
// `Query` instance for the `useOfDeprecatedCHeaders` query
63+
Toolchain3Package::useOfDeprecatedCHeadersQuery() and
64+
queryId =
65+
// `@id` for the `useOfDeprecatedCHeaders` query
66+
"cpp/misra/use-of-deprecated-c-headers" and
67+
ruleId = "RULE-4-1-2" and
68+
category = "advisory"
69+
or
70+
query =
71+
// `Query` instance for the `useOfDeprecatedStrStreamClass` query
72+
Toolchain3Package::useOfDeprecatedStrStreamClassQuery() and
73+
queryId =
74+
// `@id` for the `useOfDeprecatedStrStreamClass` query
75+
"cpp/misra/use-of-deprecated-str-stream-class" and
76+
ruleId = "RULE-4-1-2" and
77+
category = "advisory"
78+
or
79+
query =
80+
// `Query` instance for the `useOfUncaughtException` query
81+
Toolchain3Package::useOfUncaughtExceptionQuery() and
82+
queryId =
83+
// `@id` for the `useOfUncaughtException` query
84+
"cpp/misra/use-of-uncaught-exception" and
85+
ruleId = "RULE-4-1-2" and
86+
category = "advisory"
87+
or
88+
query =
89+
// `Query` instance for the `useOfDeprecatedFunctionBinderTypedefMember` query
90+
Toolchain3Package::useOfDeprecatedFunctionBinderTypedefMemberQuery() and
91+
queryId =
92+
// `@id` for the `useOfDeprecatedFunctionBinderTypedefMember` query
93+
"cpp/misra/use-of-deprecated-function-binder-typedef-member" and
94+
ruleId = "RULE-4-1-2" and
95+
category = "advisory"
96+
or
97+
query =
98+
// `Query` instance for the `useOfDeprecatedUnaryOrBinaryNegate` query
99+
Toolchain3Package::useOfDeprecatedUnaryOrBinaryNegateQuery() and
100+
queryId =
101+
// `@id` for the `useOfDeprecatedUnaryOrBinaryNegate` query
102+
"cpp/misra/use-of-deprecated-unary-or-binary-negate" and
103+
ruleId = "RULE-4-1-2" and
104+
category = "advisory"
105+
or
106+
query =
107+
// `Query` instance for the `useOfDeprecatedAllocatorVoid` query
108+
Toolchain3Package::useOfDeprecatedAllocatorVoidQuery() and
109+
queryId =
110+
// `@id` for the `useOfDeprecatedAllocatorVoid` query
111+
"cpp/misra/use-of-deprecated-allocator-void" and
112+
ruleId = "RULE-4-1-2" and
113+
category = "advisory"
114+
or
115+
query =
116+
// `Query` instance for the `useOfDeprecatedStdAllocatorMember` query
117+
Toolchain3Package::useOfDeprecatedStdAllocatorMemberQuery() and
118+
queryId =
119+
// `@id` for the `useOfDeprecatedStdAllocatorMember` query
120+
"cpp/misra/use-of-deprecated-std-allocator-member" and
121+
ruleId = "RULE-4-1-2" and
122+
category = "advisory"
123+
or
124+
query =
125+
// `Query` instance for the `useOfDeprecatedRawStorageIterator` query
126+
Toolchain3Package::useOfDeprecatedRawStorageIteratorQuery() and
127+
queryId =
128+
// `@id` for the `useOfDeprecatedRawStorageIterator` query
129+
"cpp/misra/use-of-deprecated-raw-storage-iterator" and
130+
ruleId = "RULE-4-1-2" and
131+
category = "advisory"
132+
or
133+
query =
134+
// `Query` instance for the `useOfDeprecatedTemporaryBuffers` query
135+
Toolchain3Package::useOfDeprecatedTemporaryBuffersQuery() and
136+
queryId =
137+
// `@id` for the `useOfDeprecatedTemporaryBuffers` query
138+
"cpp/misra/use-of-deprecated-temporary-buffers" and
139+
ruleId = "RULE-4-1-2" and
140+
category = "advisory"
141+
or
142+
query =
143+
// `Query` instance for the `useOfDeprecatedIsLiteralTypeTraits` query
144+
Toolchain3Package::useOfDeprecatedIsLiteralTypeTraitsQuery() and
145+
queryId =
146+
// `@id` for the `useOfDeprecatedIsLiteralTypeTraits` query
147+
"cpp/misra/use-of-deprecated-is-literal-type-traits" and
148+
ruleId = "RULE-4-1-2" and
149+
category = "advisory"
150+
or
151+
query =
152+
// `Query` instance for the `useOfDeprecatedStdIteratorBaseClass` query
153+
Toolchain3Package::useOfDeprecatedStdIteratorBaseClassQuery() and
154+
queryId =
155+
// `@id` for the `useOfDeprecatedStdIteratorBaseClass` query
156+
"cpp/misra/use-of-deprecated-std-iterator-base-class" and
157+
ruleId = "RULE-4-1-2" and
158+
category = "advisory"
159+
or
160+
query =
161+
// `Query` instance for the `useOfDeprecatedSharedPtrUnique` query
162+
Toolchain3Package::useOfDeprecatedSharedPtrUniqueQuery() and
163+
queryId =
164+
// `@id` for the `useOfDeprecatedSharedPtrUnique` query
165+
"cpp/misra/use-of-deprecated-shared-ptr-unique" and
166+
ruleId = "RULE-4-1-2" and
167+
category = "advisory"
168+
}
169+
170+
module Toolchain3Package {
171+
Query redeclarationOfStaticConstexprDataMemberQuery() {
172+
//autogenerate `Query` type
173+
result =
174+
// `Query` type for `redeclarationOfStaticConstexprDataMember` query
175+
TQueryCPP(TToolchain3PackageQuery(TRedeclarationOfStaticConstexprDataMemberQuery()))
176+
}
177+
178+
Query implicitDeclarationOfCopyConstructorQuery() {
179+
//autogenerate `Query` type
180+
result =
181+
// `Query` type for `implicitDeclarationOfCopyConstructor` query
182+
TQueryCPP(TToolchain3PackageQuery(TImplicitDeclarationOfCopyConstructorQuery()))
183+
}
184+
185+
Query implicitDeclarationOfCopyConstructorAuditQuery() {
186+
//autogenerate `Query` type
187+
result =
188+
// `Query` type for `implicitDeclarationOfCopyConstructorAudit` query
189+
TQueryCPP(TToolchain3PackageQuery(TImplicitDeclarationOfCopyConstructorAuditQuery()))
190+
}
191+
192+
Query noexceptSpecifierThrowQuery() {
193+
//autogenerate `Query` type
194+
result =
195+
// `Query` type for `noexceptSpecifierThrow` query
196+
TQueryCPP(TToolchain3PackageQuery(TNoexceptSpecifierThrowQuery()))
197+
}
198+
199+
Query useOfDeprecatedCHeadersQuery() {
200+
//autogenerate `Query` type
201+
result =
202+
// `Query` type for `useOfDeprecatedCHeaders` query
203+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedCHeadersQuery()))
204+
}
205+
206+
Query useOfDeprecatedStrStreamClassQuery() {
207+
//autogenerate `Query` type
208+
result =
209+
// `Query` type for `useOfDeprecatedStrStreamClass` query
210+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedStrStreamClassQuery()))
211+
}
212+
213+
Query useOfUncaughtExceptionQuery() {
214+
//autogenerate `Query` type
215+
result =
216+
// `Query` type for `useOfUncaughtException` query
217+
TQueryCPP(TToolchain3PackageQuery(TUseOfUncaughtExceptionQuery()))
218+
}
219+
220+
Query useOfDeprecatedFunctionBinderTypedefMemberQuery() {
221+
//autogenerate `Query` type
222+
result =
223+
// `Query` type for `useOfDeprecatedFunctionBinderTypedefMember` query
224+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedFunctionBinderTypedefMemberQuery()))
225+
}
226+
227+
Query useOfDeprecatedUnaryOrBinaryNegateQuery() {
228+
//autogenerate `Query` type
229+
result =
230+
// `Query` type for `useOfDeprecatedUnaryOrBinaryNegate` query
231+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedUnaryOrBinaryNegateQuery()))
232+
}
233+
234+
Query useOfDeprecatedAllocatorVoidQuery() {
235+
//autogenerate `Query` type
236+
result =
237+
// `Query` type for `useOfDeprecatedAllocatorVoid` query
238+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedAllocatorVoidQuery()))
239+
}
240+
241+
Query useOfDeprecatedStdAllocatorMemberQuery() {
242+
//autogenerate `Query` type
243+
result =
244+
// `Query` type for `useOfDeprecatedStdAllocatorMember` query
245+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedStdAllocatorMemberQuery()))
246+
}
247+
248+
Query useOfDeprecatedRawStorageIteratorQuery() {
249+
//autogenerate `Query` type
250+
result =
251+
// `Query` type for `useOfDeprecatedRawStorageIterator` query
252+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedRawStorageIteratorQuery()))
253+
}
254+
255+
Query useOfDeprecatedTemporaryBuffersQuery() {
256+
//autogenerate `Query` type
257+
result =
258+
// `Query` type for `useOfDeprecatedTemporaryBuffers` query
259+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedTemporaryBuffersQuery()))
260+
}
261+
262+
Query useOfDeprecatedIsLiteralTypeTraitsQuery() {
263+
//autogenerate `Query` type
264+
result =
265+
// `Query` type for `useOfDeprecatedIsLiteralTypeTraits` query
266+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedIsLiteralTypeTraitsQuery()))
267+
}
268+
269+
Query useOfDeprecatedStdIteratorBaseClassQuery() {
270+
//autogenerate `Query` type
271+
result =
272+
// `Query` type for `useOfDeprecatedStdIteratorBaseClass` query
273+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedStdIteratorBaseClassQuery()))
274+
}
275+
276+
Query useOfDeprecatedSharedPtrUniqueQuery() {
277+
//autogenerate `Query` type
278+
result =
279+
// `Query` type for `useOfDeprecatedSharedPtrUnique` query
280+
TQueryCPP(TToolchain3PackageQuery(TUseOfDeprecatedSharedPtrUniqueQuery()))
281+
}
282+
}

cpp/common/src/codingstandards/cpp/standardlibrary/Memory.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
import cpp
66

7+
class DefaultAllocator extends TemplateClass {
8+
DefaultAllocator() { this.hasQualifiedName("std", "allocator") }
9+
}
10+
711
abstract class UninitializedMemoryManagementFunction extends Function {
812
UninitializedMemoryManagementFunction() {
913
this.getADeclarationLocation().getFile().getShortName() = "memory"

0 commit comments

Comments
 (0)