Skip to content

Commit 4af9ae4

Browse files
Merge branch 'main' into dependabot/github_actions/actions/upload-artifact-7
2 parents 2e50401 + c272090 commit 4af9ae4

File tree

83 files changed

+1930
-82
lines changed

Some content is hidden

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

83 files changed

+1930
-82
lines changed

.github/workflows/standard_library_upgrade_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
run: |
2929
echo "::set-output name=matrix::$(
3030
jq --compact-output \
31-
'.supported_environment | map([.+{os: "ubuntu-20.04-xl", codeql_standard_library_ident : .codeql_standard_library | sub("\/"; "_")}]) | flatten | {include: .}' \
31+
'.supported_environment | map([.+{os: "ubuntu-22.04-xl", codeql_standard_library_ident : .codeql_standard_library | sub("\/"; "_")}]) | flatten | {include: .}' \
3232
supported_codeql_configs.json
3333
)"
3434

.github/workflows/verify-standard-library-dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
run: |
3232
echo "::set-output name=matrix::$(
3333
jq --compact-output \
34-
'.supported_environment | map([.+{os: "ubuntu-20.04-xl", codeql_standard_library_ident : .codeql_standard_library | sub("\/"; "_")}]) | flatten | {include: .}' \
34+
'.supported_environment | map([.+{os: "ubuntu-22.04-xl", codeql_standard_library_ident : .codeql_standard_library | sub("\/"; "_")}]) | flatten | {include: .}' \
3535
supported_codeql_configs.json
3636
)"
3737
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- `M5-14-1` - `RightHandOperandOfALogicalAndOperatorsContainSideEffects.ql`:
2+
- Implementation has been refactored to share logic with Rule 8.14.1. No observable changes to results expected.

cpp/autosar/src/rules/M5-14-1/RightHandOperandOfALogicalAndOperatorsContainSideEffects.ql

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616

1717
import cpp
1818
import codingstandards.cpp.autosar
19-
import codingstandards.cpp.SideEffect
20-
import codingstandards.cpp.sideeffect.DefaultEffects
21-
import codingstandards.cpp.Expr
19+
import codingstandards.cpp.rules.shortcircuitedpersistentsideeffectshared.ShortCircuitedPersistentSideEffectShared
2220

23-
from BinaryLogicalOperation op, Expr rhs
24-
where
25-
not isExcluded(op,
26-
SideEffects1Package::rightHandOperandOfALogicalAndOperatorsContainSideEffectsQuery()) and
27-
rhs = op.getRightOperand() and
28-
hasSideEffect(rhs) and
29-
not rhs instanceof UnevaluatedExprExtension
30-
select op, "The $@ may have a side effect that is not always evaluated.", rhs, "right-hand operand"
21+
module RightHandOperandOfALogicalAndOperatorsContainSideEffectsConfig implements
22+
ShortCircuitedPersistentSideEffectSharedConfigSig
23+
{
24+
Query getQuery() {
25+
result = SideEffects1Package::rightHandOperandOfALogicalAndOperatorsContainSideEffectsQuery()
26+
}
27+
}
28+
29+
import ShortCircuitedPersistentSideEffectShared<RightHandOperandOfALogicalAndOperatorsContainSideEffectsConfig>

cpp/autosar/test/rules/M5-14-1/RightHandOperandOfALogicalAndOperatorsContainSideEffects.expected

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/autosar/test/rules/M5-14-1/RightHandOperandOfALogicalAndOperatorsContainSideEffects.qlref

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cpp/common/test/rules/shortcircuitedpersistentsideeffectshared/ShortCircuitedPersistentSideEffectShared.ql

cpp/autosar/test/rules/M5-14-1/test.cpp

Lines changed: 0 additions & 42 deletions
This file was deleted.

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,14 @@ import Scope
7272
import SideEffects1
7373
import SideEffects2
7474
import SideEffects4
75+
import SideEffects5
7576
import SmartPointers1
7677
import SmartPointers2
7778
import Statements
7879
import Strings
7980
import Templates
8081
import Toolchain
82+
import Toolchain3
8183
import Trigraph
8284
import TrustBoundaries
8385
import TypeRanges
@@ -156,12 +158,14 @@ newtype TCPPQuery =
156158
TSideEffects1PackageQuery(SideEffects1Query q) or
157159
TSideEffects2PackageQuery(SideEffects2Query q) or
158160
TSideEffects4PackageQuery(SideEffects4Query q) or
161+
TSideEffects5PackageQuery(SideEffects5Query q) or
159162
TSmartPointers1PackageQuery(SmartPointers1Query q) or
160163
TSmartPointers2PackageQuery(SmartPointers2Query q) or
161164
TStatementsPackageQuery(StatementsQuery q) or
162165
TStringsPackageQuery(StringsQuery q) or
163166
TTemplatesPackageQuery(TemplatesQuery q) or
164167
TToolchainPackageQuery(ToolchainQuery q) or
168+
TToolchain3PackageQuery(Toolchain3Query q) or
165169
TTrigraphPackageQuery(TrigraphQuery q) or
166170
TTrustBoundariesPackageQuery(TrustBoundariesQuery q) or
167171
TTypeRangesPackageQuery(TypeRangesQuery q) or
@@ -240,12 +244,14 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId, string cat
240244
isSideEffects1QueryMetadata(query, queryId, ruleId, category) or
241245
isSideEffects2QueryMetadata(query, queryId, ruleId, category) or
242246
isSideEffects4QueryMetadata(query, queryId, ruleId, category) or
247+
isSideEffects5QueryMetadata(query, queryId, ruleId, category) or
243248
isSmartPointers1QueryMetadata(query, queryId, ruleId, category) or
244249
isSmartPointers2QueryMetadata(query, queryId, ruleId, category) or
245250
isStatementsQueryMetadata(query, queryId, ruleId, category) or
246251
isStringsQueryMetadata(query, queryId, ruleId, category) or
247252
isTemplatesQueryMetadata(query, queryId, ruleId, category) or
248253
isToolchainQueryMetadata(query, queryId, ruleId, category) or
254+
isToolchain3QueryMetadata(query, queryId, ruleId, category) or
249255
isTrigraphQueryMetadata(query, queryId, ruleId, category) or
250256
isTrustBoundariesQueryMetadata(query, queryId, ruleId, category) or
251257
isTypeRangesQueryMetadata(query, queryId, ruleId, category) or
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype SideEffects5Query = TShortCircuitedPersistentSideEffectQuery()
7+
8+
predicate isSideEffects5QueryMetadata(Query query, string queryId, string ruleId, string category) {
9+
query =
10+
// `Query` instance for the `shortCircuitedPersistentSideEffect` query
11+
SideEffects5Package::shortCircuitedPersistentSideEffectQuery() and
12+
queryId =
13+
// `@id` for the `shortCircuitedPersistentSideEffect` query
14+
"cpp/misra/short-circuited-persistent-side-effect" and
15+
ruleId = "RULE-8-14-1" and
16+
category = "advisory"
17+
}
18+
19+
module SideEffects5Package {
20+
Query shortCircuitedPersistentSideEffectQuery() {
21+
//autogenerate `Query` type
22+
result =
23+
// `Query` type for `shortCircuitedPersistentSideEffect` query
24+
TQueryCPP(TSideEffects5PackageQuery(TShortCircuitedPersistentSideEffectQuery()))
25+
}
26+
}

0 commit comments

Comments
 (0)