Skip to content

Commit 050bdf7

Browse files
committed
Addressing the review comments
1 parent e3113f6 commit 050bdf7

File tree

33 files changed

+233
-79
lines changed

33 files changed

+233
-79
lines changed

c/misra/src/rules/RULE-13-2/UnsequencedSideEffects.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import cpp
1515
import codingstandards.c.misra
1616
import codingstandards.c.Ordering
17-
import codingstandards.cpp.SideEffects
17+
import codingstandards.c.SideEffects
1818

1919
class VariableEffectOrAccess extends Expr {
2020
VariableEffectOrAccess() {

c/misra/src/rules/RULE-13-3/SideEffectAndCrementInFullExpression.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import cpp
1717
import codingstandards.c.misra
1818
import codingstandards.c.Expr
19-
import codingstandards.cpp.SideEffects
19+
import codingstandards.c.SideEffects
2020

2121
from FullExpr e, SideEffect se, CrementOperation op
2222
where

c/misra/src/rules/RULE-15-6/LoopCompoundCondition.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @id c/misra/loop-compound-condition
3-
* @name RULE-15-6: the statement forming the body of a loop shall be a compound statement
3+
* @name RULE-15-6: The statement forming the body of a loop shall be a compound statement
44
* @description if the body of a loop is not enclosed in braces, then this can lead to incorrect
55
* execution, and is hard for developers to maintain.
66
* @kind problem

change_notes/2024-06-27-misra-cpp-2023-import.md

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @id cpp/autosar/pointer-to-member-virtual-function-with-null-pointer-constant
3+
* @name A5-10-1: A pointer to member virtual function shall only be tested for equality with null-pointer-constant
4+
* @description A pointer to member virtual function shall only be tested for equality with
5+
* null-pointer-constant, because an equality comparison with anything other than a
6+
* null-pointer-constant is unspecified.
7+
* @kind problem
8+
* @precision very-high
9+
* @problem.severity error
10+
* @tags external/autosar/id/a5-10-1
11+
* correctness
12+
* external/autosar/allocated-target/implementation
13+
* external/autosar/enforcement/automated
14+
* external/autosar/obligation/required
15+
*/
16+
17+
import cpp
18+
import codingstandards.cpp.autosar
19+
import codingstandards.cpp.rules.potentiallyvirtualpointeronlycomparestonullptr.PotentiallyVirtualPointerOnlyComparesToNullptr
20+
21+
class PointerToMemberVirtualFunctionWithNullPointerConstantQuery extends PotentiallyVirtualPointerOnlyComparesToNullptrSharedQuery {
22+
PointerToMemberVirtualFunctionWithNullPointerConstantQuery() {
23+
this = pointersPackage::pointerToMemberVirtualFunctionWithNullPointerConstantQuery()
24+
}
25+
}

cpp/autosar/src/rules/A5-10-1/VirtualPointerOnlyComparesToNullptrConstant.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import cpp
1818
import codingstandards.cpp.autosar
1919
import codingstandards.cpp.rules.potentiallyvirtualpointeronlycomparestonullptr.PotentiallyVirtualPointerOnlyComparesToNullptr
2020

21-
class VirtualPointerOnlyComparesToNullptrConstantQuery extends PotentiallyVirtualPointerOnlyComparesToNullptrSharedQuery
21+
class PointerToMemberVirtualFunctionWithNullPointerConstantQuery extends PotentiallyVirtualPointerOnlyComparesToNullptrSharedQuery
2222
{
23-
VirtualPointerOnlyComparesToNullptrConstantQuery() {
24-
this = PointersPackage::virtualPointerOnlyComparesToNullptrConstantQuery()
23+
PointerToMemberVirtualFunctionWithNullPointerConstantQuery() {
24+
this = PointersPackage::pointerToMemberVirtualFunctionWithNullPointerConstantQuery()
2525
}
2626
}

cpp/autosar/src/rules/M10-1-3/AccessibleBaseClassBothVirtualAndNonVirtual.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import cpp
1616
import codingstandards.cpp.autosar
1717
import codingstandards.cpp.rules.virtualandnonvirtualclassinthehierarchy.VirtualAndNonVirtualClassInTheHierarchy
1818

19-
class AccessibleBaseClassBothVirtualAndNonVirtualQuery extends VirtualAndNonVirtualClassInTheHierarchySharedQuery
19+
class AccessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery extends VirtualAndNonVirtualClassInTheHierarchySharedQuery
2020
{
21-
AccessibleBaseClassBothVirtualAndNonVirtualQuery() {
22-
this = InheritancePackage::accessibleBaseClassBothVirtualAndNonVirtualQuery()
21+
AccessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery() {
22+
this = InheritancePackage::accessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery()
2323
}
2424
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* @id cpp/autosar/accessible-base-class-both-virtual-and-non-virtual-in-hierarchy
3+
* @name M10-1-3: An accessible base class shall not be both virtual and non-virtual in the same hierarchy
4+
* @description A base class must not be virtual and non-virtual in the same hierarchy to avoid
5+
* copies of the object and confusing behavior.
6+
* @kind problem
7+
* @precision very-high
8+
* @problem.severity warning
9+
* @tags external/autosar/id/m10-1-3
10+
* external/autosar/allocated-target/implementation
11+
* external/autosar/enforcement/automated
12+
* external/autosar/obligation/required
13+
*/
14+
15+
import cpp
16+
import codingstandards.cpp.autosar
17+
import codingstandards.cpp.rules.virtualandnonvirtualclassinthehierarchy.VirtualAndNonVirtualClassInTheHierarchy
18+
19+
class AccessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery extends VirtualAndNonVirtualClassInTheHierarchySharedQuery {
20+
AccessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery() {
21+
this = InheritancePackage::accessibleBaseClassBothVirtualAndNonVirtualInHierarchyQuery()
22+
}
23+
}

cpp/autosar/src/rules/M5-2-12/IdentifierPassedAsFunctionArgumentDecayToAPointer.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ import cpp
1717
import codingstandards.cpp.autosar
1818
import codingstandards.cpp.rules.arraypassedasfunctionargumentdecaytoapointer.ArrayPassedAsFunctionArgumentDecayToAPointer
1919

20-
class IdentifierPassedAsFunctionArgumentDecayToAPointerQuery extends ArrayPassedAsFunctionArgumentDecayToAPointerSharedQuery
20+
class IdentifierWithArrayTypePassedAsFunctionArgumentDecayToAPointerQuery extends ArrayPassedAsFunctionArgumentDecayToAPointerSharedQuery
2121
{
22-
IdentifierPassedAsFunctionArgumentDecayToAPointerQuery() {
23-
this = PointersPackage::identifierPassedAsFunctionArgumentDecayToAPointerQuery()
22+
IdentifierWithArrayTypePassedAsFunctionArgumentDecayToAPointerQuery() {
23+
this = PointersPackage::identifierWithArrayTypePassedAsFunctionArgumentDecayToAPointerQuery()
2424
}
2525
}

0 commit comments

Comments
 (0)