Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ static constexpr bool DefaultModelImplicitConversions = true;
/// used together.
static constexpr bool DefaultSuppressParametersUsedTogether = true;

/// The default value for the NamePrefixSuffixSilenceDissimilarityTreshold
/// The default value for the NamePrefixSuffixSilenceDissimilarityThreshold
/// check option.
static constexpr std::size_t
DefaultNamePrefixSuffixSilenceDissimilarityTreshold = 1;
Expand Down Expand Up @@ -1435,7 +1435,7 @@ static MixableParameterRange modelMixingRange(
StringRef PrevParamName = FD->getParamDecl(I - 1)->getName();
if (!ParamName.empty() && !PrevParamName.empty() &&
filter::prefixSuffixCoverUnderThreshold(
Check.NamePrefixSuffixSilenceDissimilarityTreshold, PrevParamName,
Check.NamePrefixSuffixSilenceDissimilarityThreshold, PrevParamName,
ParamName)) {
LLVM_DEBUG(llvm::dbgs() << "Parameter '" << ParamName
<< "' follows a pattern with previous parameter '"
Expand Down Expand Up @@ -2108,8 +2108,8 @@ EasilySwappableParametersCheck::EasilySwappableParametersCheck(
SuppressParametersUsedTogether(
Options.get("SuppressParametersUsedTogether",
DefaultSuppressParametersUsedTogether)),
NamePrefixSuffixSilenceDissimilarityTreshold(
Options.get("NamePrefixSuffixSilenceDissimilarityTreshold",
NamePrefixSuffixSilenceDissimilarityThreshold(
Options.get("NamePrefixSuffixSilenceDissimilarityThreshold",
DefaultNamePrefixSuffixSilenceDissimilarityTreshold)) {}

void EasilySwappableParametersCheck::storeOptions(
Expand All @@ -2123,8 +2123,8 @@ void EasilySwappableParametersCheck::storeOptions(
Options.store(Opts, "ModelImplicitConversions", ModelImplicitConversions);
Options.store(Opts, "SuppressParametersUsedTogether",
SuppressParametersUsedTogether);
Options.store(Opts, "NamePrefixSuffixSilenceDissimilarityTreshold",
NamePrefixSuffixSilenceDissimilarityTreshold);
Options.store(Opts, "NamePrefixSuffixSilenceDissimilarityThreshold",
NamePrefixSuffixSilenceDissimilarityThreshold);
}

void EasilySwappableParametersCheck::registerMatchers(MatchFinder *Finder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class EasilySwappableParametersCheck : public ClangTidyCheck {
/// either end for the report about the parameters to be silenced.
/// E.g. the names "LHS" and "RHS" are 1-dissimilar suffixes of each other,
/// while "Text1" and "Text2" are 1-dissimilar prefixes of each other.
const std::size_t NamePrefixSuffixSilenceDissimilarityTreshold;
const std::size_t NamePrefixSuffixSilenceDissimilarityThreshold;
};

} // namespace clang::tidy::bugprone
Expand Down
11 changes: 8 additions & 3 deletions clang-tools-extra/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ Improvements to clang-tidy
:program:`clang-tidy-20`. Users should use the check-specific options of the
same name instead.

- Improved :program:`run-clang-tidy.py` and :program:`clang-tidy-diff.py`
- Improved :program:`run-clang-tidy.py` and :program:`clang-tidy-diff.py`
scripts by adding the `-hide-progress` option to suppress progress and
informational messages.

Expand Down Expand Up @@ -190,6 +190,11 @@ New check aliases
Changes in existing checks
^^^^^^^^^^^^^^^^^^^^^^^^^^

- Improved :doc:`bugprone-easily-swappable-parameters
<clang-tidy/checks/bugprone/easily-swappable-parameters>` check by
correcting a spelling mistake on its option
``NamePrefixSuffixSilenceDissimilarityTreshold``.

- Improved :doc:`bugprone-infinite-loop
<clang-tidy/checks/bugprone/infinite-loop>` check by adding detection for
variables introduced by structured bindings.
Expand All @@ -213,8 +218,8 @@ Changes in existing checks
tagged union respectively.

- Improved :doc:`bugprone-unchecked-optional-access
<clang-tidy/checks/bugprone/unchecked-optional-access>` check by supporting
``NullableValue::makeValue`` and ``NullableValue::makeValueInplace`` to
<clang-tidy/checks/bugprone/unchecked-optional-access>` check by supporting
``NullableValue::makeValue`` and ``NullableValue::makeValueInplace`` to
prevent false-positives for ``BloombergLP::bdlb::NullableValue`` type.

- Improved :doc:`bugprone-unhandled-self-assignment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ noisiness.
* Separate ``return`` statements return either of the parameters on
different code paths.

.. option:: NamePrefixSuffixSilenceDissimilarityTreshold
.. option:: NamePrefixSuffixSilenceDissimilarityThreshold

The number of characters two parameter names might be different on *either*
the head or the tail end with the rest of the name the same so that the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

void ignoredUnnamed(int I, int, int) {} // NO-WARN: No >= 2 length of non-unnamed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 1, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

void numericAndQualifierConversion(int I, const double CD) { numericAndQualifierConversion(CD, I); }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

void implicitDoesntBreakOtherStuff(int A, int B) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

void implicitDoesntBreakOtherStuff(int A, int B) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

namespace std {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

int add(int Left, int Right) { return Left + Right; } // NO-WARN: Only 2 parameters.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 1 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 1 \
// RUN: }}' --

namespace std {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 1, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

typedef int MyInt1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 1, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' -- -Wno-strict-prototypes -x c
//
// RUN: %check_clang_tidy -std=c23-or-later %s bugprone-easily-swappable-parameters %t \
Expand All @@ -17,7 +17,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 1, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' -- -Wno-strict-prototypes -x c

int add(int X, int Y);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 1, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' --

namespace std {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' -- -Wno-strict-prototypes
//
// RUN: %check_clang_tidy -std=c23-or-later %s bugprone-easily-swappable-parameters %t \
Expand All @@ -17,7 +17,7 @@
// RUN: bugprone-easily-swappable-parameters.QualifiersMix: 0, \
// RUN: bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
// RUN: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
// RUN: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityThreshold: 0 \
// RUN: }}' -- -Wno-strict-prototypes

#define bool _Bool
Expand Down