Release Notes - SonarCFamily - Version 6.19 - HTML format

Bug

  • [CPP-2696] - Fix Clang parser crash on Boost asio/execution/blocking.hpp
  • [CPP-2811] - S5276: Fix the report location
  • [CPP-3023] - Qcc driver should not fail when "-V" argument intend to list the supported targets
  • [CPP-3027] - Fix regression when logging subprocess failure
  • [CPP-3034] - Fix crash in static analyzer when using <=> with basic types

New Feature

  • [CPP-2862] - Rule S6166: "nodiscard" attributes on functions should include explanations
  • [CPP-2928] - Rule S6181: "std::bit_cast" should be used to reinterpret binary representation instead of "std::memcpy"
  • [CPP-2934] - Rule S6190: "std::source_location" should be used instead of "__FILE__" and "__LINE__" macros
  • [CPP-2935] - Rules S6183 S6214: "std::cmp_*" functions should/must be used to compare signed and unsigned values
  • [CPP-2939] - Rule S6188: "std::span" should be used for a uniform sequence of elements contiguous in memory
  • [CPP-2980] - Project-level rules should be disabled in SonarLint CLion
  • [CPP-2993] - Speed up analysis in SonarLint for CLion by using precompiled preambles
  • [CPP-2994] - SonarLint CLion: Add support for header files analysis
  • [CPP-2997] - Clang: Warnings about deprecation of volatile in C++20 should report in all standards
  • [CPP-3043] - SonarLint CLion: Add ability to create reproducer using property

Task

  • [CPP-3026] - Communication from subprocess to plugin should support bigger strings and use UTF-8

Improvement

  • [CPP-2717] - S6024: In C++20, add support for "std::ssize"
  • [CPP-2898] - S5995: C++20 - Propose to use "std::bind_front" when possible
  • [CPP-2920] - S873: Extend the rule to make sure the cross-type comparisons are not allowed
  • [CPP-2951] - S1764: Add support for <=>
  • [CPP-2953] - S3692: Add support for operator<=>
  • [CPP-2957] - S872, S867: bool<=>bool should not be allowed
  • [CPP-3003] - S871: suggest using "std::bit_cast" when appropriate
  • [CPP-3004] - S3630: Propose to use "std::bit_cast" instead of "reinterpret_cast" when appropriate

False-Positive

  • [CPP-2816] - S886: allow secondary loop counters
  • [CPP-2992] - S6007: FP when the construction of an object triggers a side-effect
  • [CPP-3015] - S6165: False positives when iterator is used in a lambda

Edit/Copy Release Notes

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