Skip to content

Commit 2a5cd73

Browse files
Merge branch 'main' into michaelrfairhurst/toolchain3-rule-4-1-2-deprecated-features
2 parents d2a326e + cced30c commit 2a5cd73

19 files changed

+217
-61
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-24.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-24.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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import Scope
7272
import SideEffects1
7373
import SideEffects2
7474
import SideEffects4
75+
import SideEffects5
7576
import SmartPointers1
7677
import SmartPointers2
7778
import Statements
@@ -157,6 +158,7 @@ newtype TCPPQuery =
157158
TSideEffects1PackageQuery(SideEffects1Query q) or
158159
TSideEffects2PackageQuery(SideEffects2Query q) or
159160
TSideEffects4PackageQuery(SideEffects4Query q) or
161+
TSideEffects5PackageQuery(SideEffects5Query q) or
160162
TSmartPointers1PackageQuery(SmartPointers1Query q) or
161163
TSmartPointers2PackageQuery(SmartPointers2Query q) or
162164
TStatementsPackageQuery(StatementsQuery q) or
@@ -242,6 +244,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId, string cat
242244
isSideEffects1QueryMetadata(query, queryId, ruleId, category) or
243245
isSideEffects2QueryMetadata(query, queryId, ruleId, category) or
244246
isSideEffects4QueryMetadata(query, queryId, ruleId, category) or
247+
isSideEffects5QueryMetadata(query, queryId, ruleId, category) or
245248
isSmartPointers1QueryMetadata(query, queryId, ruleId, category) or
246249
isSmartPointers2QueryMetadata(query, queryId, ruleId, category) or
247250
isStatementsQueryMetadata(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)