diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst index db7894578e516..7cb9664eb6399 100644 --- a/clang-tools-extra/docs/ReleaseNotes.rst +++ b/clang-tools-extra/docs/ReleaseNotes.rst @@ -218,12 +218,6 @@ Changes in existing checks code, template instances, implicit code patterns and duplicated switch cases marked with the ``[[fallthrough]]`` attribute. -- Improved :doc:`readability-redundant-string-cstr - ` check to recognise - unnecessary ``std::string::c_str()`` and ``std::string::data()`` calls in - arguments to ``std::print``, ``std::format`` or other functions listed in - the ``StringParameterFunction`` check option. - - Improved :doc:`bugprone-dangling-handle ` check enhancing detection of handles behind type aliases. @@ -237,6 +231,10 @@ Changes in existing checks ` to not emit warnings for forward declarations of functions. +- Fixed :doc:`bugprone-exception-escape` + for coroutines where previously a warning would be emitted with coroutines + throwing exceptions in their bodies. + - Improved :doc:`bugprone-fold-init-type ` to handle iterators that do not define `value_type` type aliases. @@ -250,19 +248,24 @@ Changes in existing checks ` check. Global options of the same name should be used instead. +- Improved :doc:`bugprone-too-small-loop-variable + ` check. Basic support + for bit-field and integer members as a loop variable or upper limit were added. + - Improved :doc:`bugprone-unchecked-optional-access ` check to properly handle calls to ``std::forward``. -- Improved :doc:`bugprone-use-after-move - ` check. Detect uses and moves in - constructor initializers. Correctly handle constructor arguments as being - sequenced when constructor call is written as list-initialization. - - Extend :doc:`bugprone-unused-return-value ` check to check for all functions with specified return types using the ``CheckedReturnTypes`` option. +- Improved :doc:`bugprone-use-after-move + ` check. Detect uses and moves in + constructor initializers. Correctly handle constructor arguments as being + sequenced when constructor call is written as list-initialization. Understand + that there is a sequence point between designated initializers. + - Deprecated :doc:`cert-dcl21-cpp ` check. @@ -271,6 +274,10 @@ Changes in existing checks :doc:`cppcoreguidelines-use-default-member-init ` instead. +- Fixed a false positive in :doc:`cppcoreguidelines-slicing + ` check when warning would be + emitted in constructor for virtual base class initialization. + - Deprecated check-local options `HeaderFileExtensions` in :doc:`google-build-namespaces ` check. @@ -281,6 +288,10 @@ Changes in existing checks ` check. Global options of the same name should be used instead. +- Fixed an issue in :doc:`google-readability-avoid-underscore-in-googletest-name + ` when using + ``DISABLED_`` in the test suite name. + - Deprecated check-local options `HeaderFileExtensions` in :doc:`llvm-header-guard ` check. @@ -304,6 +315,11 @@ Changes in existing checks ` check. Global options of the same name should be used instead. +- Improved :doc:`modernize-concat-nested-namespaces + ` to fix incorrect fixes when + using macro between namespace declarations, to fix false positive when using namespace + with attributes and to support nested inline namespace introduced in c++20. + - In :doc:`modernize-use-default-member-init ` count template constructors toward hand written constructors so that they are skipped if more @@ -319,6 +335,27 @@ Changes in existing checks `IgnoreTemplateInstantiations` option to optionally ignore virtual function overrides that are part of template instantiations. +- Improved :doc:`performance-no-automatic-move + `: warn on ``const &&`` + constructors. + +- Fixed a false positive in :doc:`performance-no-automatic-move + ` when warning would be + emitted for a const local variable to which NRVO is applied. + +- Fixed an issue in the :doc:`performance-noexcept-move-constructor + ` checker that was causing + false-positives when the move constructor or move assign operator were defaulted. + +- Improved :doc:`readability-container-data-pointer + ` check with new + `IgnoredContainers` option to ignore some containers. + +- Fixed a false positive in :doc:`readability-container-size-empty + ` check when comparing + ``std::array`` objects to default constructed ones. The behavior for this and + other relevant classes can now be configured with a new option. + - Fixed reading `HungarianNotation.CString.*` options in :doc:`readability-identifier-naming ` check. @@ -338,6 +375,11 @@ Changes in existing checks ` which failed to indicate the number of asterisks. +- Fixed an issue in :doc:`readability-identifier-naming + ` when specifying an empty + string for ``Prefix`` or ``Suffix`` options could result in the style not + being used. + - Fixed a false positive in :doc:`readability-implicit-bool-conversion ` check warning would be unnecessarily emitted for explicit cast using direct list initialization. @@ -345,15 +387,6 @@ Changes in existing checks - Added support to optionally ignore user-defined literals in :doc:`readability-magic-numbers`. -- Fixed a false positive in :doc:`readability-container-size-empty - ` check when comparing - ``std::array`` objects to default constructed ones. The behavior for this and - other relevant classes can now be configured with a new option. - -- Improved :doc:`bugprone-too-small-loop-variable - ` check. Basic support - for bit-field and integer members as a loop variable or upper limit were added. - - Improved :doc:`readability-magic-numbers ` check, now allows for magic numbers in type aliases such as ``using`` and ``typedef`` declarations if @@ -367,53 +400,17 @@ Changes in existing checks ` check when linkage (like ``extern "C"``) is explicitly specified. +- Improved :doc:`readability-redundant-string-cstr + ` check to recognise + unnecessary ``std::string::c_str()`` and ``std::string::data()`` calls in + arguments to ``std::print``, ``std::format`` or other functions listed in + the ``StringParameterFunction`` check option. + - Improved :doc:`readability-static-accessed-through-instance ` check to support unscoped enumerations through instances and fixed usage of anonymous structs or classes. -- Fixed a false positive in :doc:`cppcoreguidelines-slicing - ` check when warning would be - emitted in constructor for virtual base class initialization. - -- Improved :doc:`bugprone-use-after-move - ` to understand that there is a - sequence point between designated initializers. - -- Fixed an issue in the :doc:`performance-noexcept-move-constructor - ` checker that was causing - false-positives when the move constructor or move assign operator were defaulted. - -- Fixed an issue in :doc:`readability-identifier-naming - ` when specifying an empty - string for ``Prefix`` or ``Suffix`` options could result in the style not - being used. - -- Fixed an issue in :doc:`google-readability-avoid-underscore-in-googletest-name - ` when using - ``DISABLED_`` in the test suite name. - -- Improved :doc:`modernize-concat-nested-namespaces - ` to fix incorrect fixes when - using macro between namespace declarations, to fix false positive when using namespace - with attributes and to support nested inline namespace introduced in c++20. - -- Fixed a false positive in :doc:`performance-no-automatic-move - ` when warning would be - emitted for a const local variable to which NRVO is applied. - -- Improved :doc:`performance-no-automatic-move - `: warn on ``const &&`` - constructors. - -- Fixed :doc:`bugprone-exception-escape` - for coroutines where previously a warning would be emitted with coroutines - throwing exceptions in their bodies. - -- Improved :doc:`readability-container-data-pointer - ` check with new - `IgnoredContainers` option to ignore some containers. - Removed checks ^^^^^^^^^^^^^^