I am having a lot of false positives when using SonarLint on my local Eclipse based IDE. It looks like this only happens in header (.h) files.
For instance the following C++ rule is detected as a critical code smell: ‘#Macros should not be used to define constants’
This false positive is shown on each define. So for instance on:
#define ADDRESS_END 0xF0041FFFU
But also C++ rules like ‘Non-const global variables should not be used (cpp:S5421)’ on a prototype of a C function and ‘C-style array should not be used (cpp:S5945)’ on an array definition in a function prototype.
This is strange since this project is a pure C code project and this rule is not enabled for this project on the SonarQube server. SonarLint is bind to this SonarQube project and this issue is not shown in SonarQube itself. It is also not possible to disable this rule locally but this is as expected since the rules are obtained from SonarQube.
We are using the latest build_wrapper to analyze our code.
First we were running SonarQube 8.4 and after updating to 8.6 this issue is still there. On 8.4 we had the SonarCFamily installed but with the current installation we don’t.