It's unrelated to this issue. But, I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --force -D__GNUC__=9the analysis start by checking an empty macro configuration first: Checking main.c: __GNUC__=9;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c:...
Example: #ifdef Variant1 uint32_t value = 0; #endif #ifdef Variant2 uint32_t value = 1; #endif int main(void){ if (value > 0U) { return 0; } } Command: cppcheck --addon=misra --force 5.c Result: Checking 5.c ... Checking 5.c: Variant1... Checking 5.c: Variant2... 5.c:9:9: error: Because of missing configuration, misra checking is incomplete. There can be false negatives! Variable 'value' is unknown [misra-config] if (value > 0U) { ^ This is a simple example. In the real code, behind #ifdefs, there...
It's unrelated to this issue. But, I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --force -D__GNUC__=9the analysis start by checking an empty macro configuration first: Checking main.c: __GNUC__=9;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c:...
It's unrelated to this issue. But, I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --forcethe analysis start by checking an empty macro configuration: Checking main.c: __GNUC__=9;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c: __GNUC__=9;STM32H7;STM32H725xx......
I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --forcethe analysis start by checking an empty macro configuration: Checking main.c: __GNUC__=9;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c: __GNUC__=9;STM32H7;STM32H725xx... That causes some of...
I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --forcethe analysis start by checking an empty macro configuration: Checking main.c: __GNUC=9__;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c: __GNUC__=9;STM32H7;STM32H725xx... That causes some of...
I am relying on --force to define my macro configuration. (I am using --force so that I can perform "whole project" analysis on all configurations for the unusedFunctionscheck and system level misra checks. ) But with --forcethe analysis start by checking an empty macro configuration: Checking main.c: GNUC=9;... ///this causes issue Checking main.c: __GNUC__=9;STM32F4;STM32F413xx... Checking main.c: __GNUC__=9;STM32H723... Checking main.c: __GNUC__=9;STM32H7;STM32H725xx... That causes some of the...
https://github.com/danmar/cppcheck/pull/6499 fixes this particular issue, but it is not a general solution, as misra addon performs system level analysis only on last macro configuration. I added testcases towards implementing a proper fix: https://github.com/danmar/cppcheck/pull/6551