Release Notes - SonarCFamily - Version 6.7 - HTML format

Bug

  • [CPP-1853] - For probe of compiler from plugin use same argv[0] as was used for compilation
  • [CPP-2027] - build-wrapper-linux on Haswell
  • [CPP-2377] - Fix the regex default value for the naming convention rules
  • [CPP-2395] - gcov sensor: Fix regression leading to "MalformedInputException: Input length = 1"
  • [CPP-2414] - S998/GlobalMainFunction: disable for C and ObjC
  • [CPP-2445] - Should not fail in presence of gcc precompiled headers
  • [CPP-2453] - Fix NPE in caching mechanism

New Feature

  • [CPP-2321] - Rule S5566: Range-based for loops should be preferred to traditional for loops
  • [CPP-2427] - S1117: Enable for C
  • [CPP-2447] - Integrate links to SonarCloud CFamily examples into documentation

Improvement

  • [CPP-2440] - S4144: Ignore function with empty statements
  • [CPP-2443] - GCC: _Float32, _Float64, _Float128 types
  • [CPP-2446] - Improve error message when 0 compilation units are analyzed and build-wrapper json is not found
  • [CPP-2449] - S1751: Add exception for do { ... break; ... } while(0);

False-Positive

  • [CPP-2067] - S793: Fix false-positives by Whitelisting the usage of "#pragma once" from this rule
  • [CPP-2367] - S5507: Fix false-positives by excluding parameter and static local
  • [CPP-2368] - S5425: Fix false-positives by only reporting when a forwarding reference is never forwarded
  • [CPP-2373] - S5523: Fix false-positives by excluding range-based for loop
  • [CPP-2384] - S835: Fix false-positives by adding '\0' as an exception
  • [CPP-2385] - S871: Fix false-positives by handling std::initializer_list correctly
  • [CPP-2387] - S874: Fix false-positives by avoiding reporting on type dependant expression
  • [CPP-2392] - S919: CommaAndOrOverloaded: Fix false-positives by excluding comma operator for C++17
  • [CPP-2398] - S2123: Fix false-positives by handling lambda and reference parameter
  • [CPP-2399] - S1066: Fix false-positives by considering if constexpr, if statment with initializer, and macro if statment
  • [CPP-2407] - S3231: Fix false-positives by excluding template friend declaration
  • [CPP-2415] - S1004: Fix false-positives by avoiding implicit lambda declaration
  • [CPP-2418] - S1185: Fix false-positives with "final"
  • [CPP-2420] - S1172: Fix false-positives with virtual function
  • [CPP-2422] - S1142: Fix false-positives by changing the way returns are counted
  • [CPP-2423] - S5500: Fix false-positives move constructors/assignment operators don't need to move their argument
  • [CPP-2437] - S1301: Fix false-positives by reducing the number of catch to 2
  • [CPP-2439] - S4998: Fix false-positives by adding lambda and functor as exceptions
  • [CPP-2442] - S109: fix false-positives by avoiding numbers comming from template instantiation
  • [CPP-2444] - S1032: Fix false-positives by detecting only function template
  • [CPP-2451] - S1081: Fix false-positives by improving the detection mechanism of insecure functions
  • [CPP-2452] - S1242: fix false-positives when class function is defined outside of the class

Edit/Copy Release Notes

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