Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit23ddafa

Browse files
committed
Fix#540
1 parent85036d5 commit23ddafa

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-`A3-9-1` -`VariableWidthIntegerTypesUsed.ql`:
2+
- Reduce false positives by not considering variables from template instantiations.

‎cpp/autosar/src/rules/A3-9-1/VariableWidthIntegerTypesUsed.ql‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ where
3232
typeStrippedOfSpecifiersinstanceofSignedCharType
3333
)and
3434
notvinstanceofExcludedVariableand
35+
// Dont consider template instantiations because instantiations with
36+
// Fixed Width Types are recorded after stripping their typedef'd type,
37+
// thereby, causing false positives (#540).
38+
notv.isFromTemplateInstantiation(_)and
3539
//post-increment/post-decrement operators are required by the standard to have a dummy int parameter
3640
notv.(Parameter).getFunction()instanceofPostIncrementOperatorand
3741
notv.(Parameter).getFunction()instanceofPostDecrementOperator

‎cpp/autosar/test/rules/A3-9-1/test.cpp‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,15 @@ void test_variable_width_type_qualified_variables() {
7575
structtest_fix_fp_614 {
7676
test_fix_fp_614operator++(int);// COMPLIANT
7777
test_fix_fp_614operator--(int);// COMPLIANT
78-
};
78+
};
79+
80+
// COMPLIANT - instantiated with Fixed Width Types.
81+
template<typename MyType>constexprvoidtest_fix_fp_540(MyType value) {
82+
value++;
83+
}
84+
85+
intcall_test_fix_fp_540() {
86+
test_fix_fp_540<std::uint8_t>(19);
87+
test_fix_fp_540<std::int16_t>(20);
88+
return0;
89+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp