Release Notes - SonarCFamily - Version 6.33 - HTML format

Bug

  • [CPP-3486] - MSVC: Support naming the base class without template parameters
  • [CPP-3487] - MSVC: Allow mentioning 'class' or 'struct' before the constructor declaration
  • [CPP-3489] - Reproducer: fix isInterestingFile function when running Linux reproducer on windows
  • [CPP-3592] - MSVC Support incomplete type in template when type is complete before instantiation
  • [CPP-3633] - MSVC driver: support "/openmp-"
  • [CPP-3648] - MSVC: fix parsing error on std::pair and std::tuple assignment
  • [CPP-3651] - Fix reproducer generation in case of an unrecoverable crash and stabilize the recovery process
  • [CPP-3655] - Compilation Database: fix handling of single quote and the escape character on Linux/macOS
  • [CPP-3661] - Fix cache crash due to issues reported on invalid line

New Feature

  • [CPP-3135] - Re-implement S3574:┬áRedundant lambda return types should be omitted
  • [CPP-3630] - Document and officialize `reportingCppStandardOverride`
  • [CPP-3631] - build-wrapper should explicitly fail on Apple Silicon with a clear message
  • [CPP-3635] - Use optimal multithreading default for C and C++ analysis

Task

  • [CPP-3090] - Fix assertion failure in test/checks/ImplicitFunctionDeclarationCheck.c
  • [CPP-3362] - Quick Fixes tester: make the order of fixes' labels irrelevant in the comparasion of actual and expected fixes

Improvement

  • [CPP-2063] - MSVC support friend declaration as function declaration
  • [CPP-2904] - Reproducers created on Unix should be able to reproduce on Windows and vice versa
  • [CPP-3322] - S3574: Add an exception for lambdas that return expressions of different type (or just std::optional?)
  • [CPP-3615] - Improve logging when cache query miss because of a dependency change
  • [CPP-3623] - S6214 S6183: Clarify the relationship between those rules
  • [CPP-3644] - Compilation database: Better handling of relative paths
  • [CPP-3652] - Don't run AST and Symbolic-execution rules when generating the reproducer
  • [CPP-3653] - Improve VS Code Parsing and logging of compilation database
  • [CPP-3654] - Improve mingw installation detection mechanism while probing the compiler
  • [CPP-3657] - Improve cache size by including project level rules in header issues optimization
  • [CPP-3659] - Compilation database parsing: relax file extension requirement
  • [CPP-3660] - Compilation database parsing: ignore invalid entry instead of failing
  • [CPP-3662] - Improve C++ crash recovery for symbolic execution
  • [CPP-3663] - Improve compiler probing on linux/macOS to search in the environment and log failure
  • [CPP-3664] - Do not unnecessarily duplicate SE nodes

False-Positive

  • [CPP-3136] - S3574: add an exception when the return type is a reference
  • [CPP-3282] - S3574: add an exception for lambdas that do not return normally
  • [CPP-3547] - S6164: Implement the rule based on usual rounding
  • [CPP-3610] - S6031: False positive on forwarding references captured by lambda
  • [CPP-3611] - S6031: False Positive when using a decltype through an alias.

Documentation

  • [CPP-3399] - Document that the CFamily analyzer doesn't support `sonar.tests`
  • [CPP-3609] - Document symbolic execution and how to allow debugging it from reproducer and tester
  • [CPP-3636] - Document that reusing nodes with MsBuild is not supported by the build wrapper
  • [CPP-3650] - Broken link to "sandbox" on page "Building with Bazel"

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.