Ability to override C++ language version

I’m developing a piece of C++ firmware to run on a C2000 processor, but I’m also cross-compiling for Visual Studio 2019 so I can run unit tests and get code coverage metrics.

When SonarQube runs against the C2000 build it correctly picks up C++03 from the compiler, and has suggestions relevant to the C++03 features of the language.

When SonarQube runs against the Visual Studio 2019 build, it insists in analyzing the source code with C++11/14 suggestions totally unsuitable for the code-base. Visual Studio 2019 cannot be set for any version earlier than C++14, but that’s fine because we’re just not using newer features.

Linux only recently jumped from C89 to C11 despite GCC having C17 support for ages. Godot limits itself to C++03 despite building on Visual Studio 2019. There are many reasons for a project to limit itself to older language revisions to ensure portability. It would be really useful if SonarQube could be told what revision of the language so a project doesn’t get innundated with language suggestions it’s not able to take.

@Malcolm_Nixon,

Yes, we have an option to do that. We keep it private to understand the users’ needs for it before making it public for everyone. I will reach out to you privately with the option; if others have similar or different situations where they need this option, feel free to comment.

Thanks,