Fix #11878 FP misra-c2012-18.7 on function pointer parameter with array-type args (#5343)

https://trac.cppcheck.net/ticket/11878#ticket
This commit is contained in:
andymacg 2023-08-22 06:03:12 -04:00 committed by GitHub
parent f91df64fec
commit 5bb4c6f5bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View File

@ -3231,7 +3231,10 @@ class MisraChecker:
if token.str == '{':
token = token.link
if cppcheckdata.simpleMatch(token, "[ ]"):
# skip function pointer parameter types
if token.astOperand1 is None:
pass
elif cppcheckdata.simpleMatch(token, "[ ]"):
self.reportError(token, 18, 7)
break
token = token.next

View File

@ -1713,6 +1713,7 @@ struct {
} r18_7_struct; // 8.4
struct {
uint16_t len;
int (*array_param_func_ptr)(char const *argv[], int argc); // no-warning
uint8_t data_1[ 19 ];
uint8_t data_2[ ]; // 18.7
} r18_7_struct; // 8.4