Skip to content

Commit 222dd23

Browse files
authored
[clang-tidy] use local config (#120004)
follow up patch for #119948.
1 parent 414c462 commit 222dd23

File tree

11 files changed

+40
-21
lines changed

11 files changed

+40
-21
lines changed

clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,9 @@ struct MissingIncludeInfo {
5757
IncludeCleanerCheck::IncludeCleanerCheck(StringRef Name,
5858
ClangTidyContext *Context)
5959
: ClangTidyCheck(Name, Context),
60-
IgnoreHeaders(utils::options::parseStringList(
61-
Options.getLocalOrGlobal("IgnoreHeaders", ""))),
62-
DeduplicateFindings(
63-
Options.getLocalOrGlobal("DeduplicateFindings", true)) {
60+
IgnoreHeaders(
61+
utils::options::parseStringList(Options.get("IgnoreHeaders", ""))),
62+
DeduplicateFindings(Options.get("DeduplicateFindings", true)) {
6463
for (const auto &Header : IgnoreHeaders) {
6564
if (!llvm::Regex{Header}.isValid())
6665
configurationDiag("Invalid ignore headers regex '%0'") << Header;

clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class InconsistentDeclarationParameterNameCheck : public ClangTidyCheck {
2626
ClangTidyContext *Context)
2727
: ClangTidyCheck(Name, Context),
2828
IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)),
29-
Strict(Options.getLocalOrGlobal("Strict", false)) {}
29+
Strict(Options.get("Strict", false)) {}
3030

3131
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
3232
void registerMatchers(ast_matchers::MatchFinder *Finder) override;

clang-tools-extra/docs/ReleaseNotes.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,24 @@ Improvements to clang-tidy
115115
- Improved :program:`run-clang-tidy.py` script. Fixed minor shutdown noise
116116
happening on certain platforms when interrupting the script.
117117

118+
- Removed :program:`clang-tidy`'s global options for most of checks. All options
119+
are changed to local options except `IncludeStyle`, `StrictMode` and
120+
`IgnoreMacros`.
121+
122+
.. csv-table::
123+
:header: "Check", "Options removed from global option"
124+
125+
:doc:`bugprone-reserved-identifier <clang-tidy/checks/bugprone/reserved-identifier>`, AggressiveDependentMemberLookup
126+
:doc:`bugprone-unchecked-optional-access <clang-tidy/checks/bugprone/unchecked-optional-access>`, IgnoreSmartPointerDereference
127+
:doc:`cppcoreguidelines-pro-type-member-init <clang-tidy/checks/cppcoreguidelines/pro-type-member-init>`, UseAssignment
128+
:doc:`cppcoreguidelines-rvalue-reference-param-not-moved <clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved>`, AllowPartialMove; IgnoreUnnamedParams; IgnoreNonDeducedTemplateTypes
129+
:doc:`misc-include-cleaner <clang-tidy/checks/misc/include-cleaner>`, IgnoreHeaders; DeduplicateFindings
130+
:doc:`performance-inefficient-vector-operation <clang-tidy/checks/performance/inefficient-vector-operation>`, EnableProto
131+
:doc:`readability-identifier-naming <clang-tidy/checks/readability/identifier-naming>`, AggressiveDependentMemberLookup
132+
:doc:`readability-inconsistent-declaration-parameter-name <clang-tidy/checks/readability/inconsistent-declaration-parameter-name>`, Strict
133+
:doc:`readability-redundant-access-specifiers <clang-tidy/checks/readability/redundant-access-specifiers>`, CheckFirstDeclaration
134+
:doc:`readability-redundant-casting <clang-tidy/checks/readability/redundant-casting>`, IgnoreTypeAliases
135+
118136
New checks
119137
^^^^^^^^^^
120138

clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
2-
// RUN: -config="{CheckOptions: {StrictMode: true}}" --
2+
// RUN: -config="{CheckOptions: {bugprone-argument-comment.StrictMode: true}}" --
33

44
void f(int _with_underscores_);
55
void g(int x_);

clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %check_clang_tidy -check-suffix=STRICT %s cppcoreguidelines-pro-type-const-cast %t -- -config="{CheckOptions: {StrictMode: true}}"
1+
// RUN: %check_clang_tidy -check-suffix=STRICT %s cppcoreguidelines-pro-type-const-cast %t -- -config="{CheckOptions: {cppcoreguidelines-pro-type-const-cast.StrictMode: true}}"
22
// RUN: %check_clang_tidy -check-suffix=NSTRICT %s cppcoreguidelines-pro-type-const-cast %t
33

44
namespace Const {

clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %check_clang_tidy -check-suffixes=NSTRICT,STRICT %s cppcoreguidelines-pro-type-static-cast-downcast %t
2-
// RUN: %check_clang_tidy -check-suffix=NSTRICT %s cppcoreguidelines-pro-type-static-cast-downcast %t -- -config="{CheckOptions: {StrictMode: false}}"
2+
// RUN: %check_clang_tidy -check-suffix=NSTRICT %s cppcoreguidelines-pro-type-static-cast-downcast %t -- -config="{CheckOptions: {cppcoreguidelines-pro-type-static-cast-downcast.StrictMode: false}}"
33

44
class Base {
55
};

clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %check_clang_tidy %s misc-unused-parameters %t -- \
2-
// RUN: -config="{CheckOptions: {StrictMode: true}}" --
2+
// RUN: -config="{CheckOptions: {misc-unused-parameters.StrictMode: true}}" --
33

44
// Warn on empty function bodies in StrictMode.
55
namespace strict_mode {

clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// RUN: %check_clang_tidy \
22
// RUN: -std=c++20 %s modernize-use-std-format %t -- \
3-
// RUN: -config="{CheckOptions: {StrictMode: true}}" \
3+
// RUN: -config="{CheckOptions: {modernize-use-std-format.StrictMode: true}}" \
44
// RUN: -- -isystem %clang_tidy_headers \
55
// RUN: -DPRI_CMDLINE_MACRO="\"s\"" \
66
// RUN: -D__PRI_CMDLINE_MACRO="\"s\""
77
// RUN: %check_clang_tidy \
88
// RUN: -std=c++20 %s modernize-use-std-format %t -- \
9-
// RUN: -config="{CheckOptions: {StrictMode: false}}" \
9+
// RUN: -config="{CheckOptions: {modernize-use-std-format.StrictMode: false}}" \
1010
// RUN: -- -isystem %clang_tidy_headers \
1111
// RUN: -DPRI_CMDLINE_MACRO="\"s\"" \
1212
// RUN: -D__PRI_CMDLINE_MACRO="\"s\""

clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// RUN: %check_clang_tidy \
22
// RUN: -std=c++23 %s modernize-use-std-print %t -- \
3-
// RUN: -config="{CheckOptions: {StrictMode: true}}" \
3+
// RUN: -config="{CheckOptions: {modernize-use-std-print.StrictMode: true}}" \
44
// RUN: -- -isystem %clang_tidy_headers
55
// RUN: %check_clang_tidy \
66
// RUN: -std=c++23 %s modernize-use-std-print %t -- \
7-
// RUN: -config="{CheckOptions: {StrictMode: false}}" \
7+
// RUN: -config="{CheckOptions: {modernize-use-std-print.StrictMode: false}}" \
88
// RUN: -- -isystem %clang_tidy_headers
99

1010
#include <cstdio>

clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// RUN: %check_clang_tidy -check-suffixes=,STRICT \
22
// RUN: -std=c++23 %s modernize-use-std-print %t -- \
3-
// RUN: -config="{CheckOptions: {StrictMode: true}}" \
3+
// RUN: -config="{CheckOptions: {modernize-use-std-print.StrictMode: true}}" \
44
// RUN: -- -isystem %clang_tidy_headers -fexceptions \
55
// RUN: -DPRI_CMDLINE_MACRO="\"s\"" \
66
// RUN: -D__PRI_CMDLINE_MACRO="\"s\""
77
// RUN: %check_clang_tidy -check-suffixes=,NOTSTRICT \
88
// RUN: -std=c++23 %s modernize-use-std-print %t -- \
9-
// RUN: -config="{CheckOptions: {StrictMode: false}}" \
9+
// RUN: -config="{CheckOptions: {modernize-use-std-print.StrictMode: false}}" \
1010
// RUN: -- -isystem %clang_tidy_headers -fexceptions \
1111
// RUN: -DPRI_CMDLINE_MACRO="\"s\"" \
1212
// RUN: -D__PRI_CMDLINE_MACRO="\"s\""

clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,12 @@ TEST(IncludeCleanerCheckTest, SuppressUnusedIncludes) {
7171

7272
std::vector<ClangTidyError> Errors;
7373
ClangTidyOptions Opts;
74-
Opts.CheckOptions["IgnoreHeaders"] = llvm::StringRef{llvm::formatv(
75-
"bar.h;{0};{1};vector;<list>;",
76-
llvm::Regex::escape(appendPathFileSystemIndependent({"foo", "qux.h"})),
77-
llvm::Regex::escape(appendPathFileSystemIndependent({"baz", "qux"})))};
74+
Opts.CheckOptions["test-check-0.IgnoreHeaders"] = llvm::StringRef{
75+
llvm::formatv("bar.h;{0};{1};vector;<list>;",
76+
llvm::Regex::escape(
77+
appendPathFileSystemIndependent({"foo", "qux.h"})),
78+
llvm::Regex::escape(
79+
appendPathFileSystemIndependent({"baz", "qux"})))};
7880
EXPECT_EQ(
7981
PostCode,
8082
runCheckOnCode<IncludeCleanerCheck>(
@@ -139,7 +141,7 @@ int BarResult2 = $diag2^bar();)");
139141
{
140142
std::vector<ClangTidyError> Errors;
141143
ClangTidyOptions Opts;
142-
Opts.CheckOptions.insert({"DeduplicateFindings", "false"});
144+
Opts.CheckOptions["test-check-0.DeduplicateFindings"] = "false";
143145
runCheckOnCode<IncludeCleanerCheck>(Code.code(), &Errors, "file.cpp", {},
144146
Opts,
145147
{{"baz.h", R"(#pragma once
@@ -170,7 +172,7 @@ std::vector x;
170172
)";
171173

172174
ClangTidyOptions Opts;
173-
Opts.CheckOptions["IgnoreHeaders"] = llvm::StringRef{
175+
Opts.CheckOptions["test-check-0.IgnoreHeaders"] = llvm::StringRef{
174176
"public.h;<vector>;baz.h;" +
175177
llvm::Regex::escape(appendPathFileSystemIndependent({"foo", "qux.h"}))};
176178
std::vector<ClangTidyError> Errors;

0 commit comments

Comments
 (0)