[clang-tools-extra] 40546cb - Remove 'IgnoreDestructors = true' from cppcoreguidelines-explicit-virtual-functions
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 12 07:08:20 PDT 2021
Author: Carlos Galvez
Date: 2021-10-12T10:08:08-04:00
New Revision: 40546cb38189e438a81faa6400c103d159600f9e
URL: https://github.com/llvm/llvm-project/commit/40546cb38189e438a81faa6400c103d159600f9e
DIFF: https://github.com/llvm/llvm-project/commit/40546cb38189e438a81faa6400c103d159600f9e.diff
LOG: Remove 'IgnoreDestructors = true' from cppcoreguidelines-explicit-virtual-functions
This requirement was introduced in the C++ Core guidelines in 2016:
https://github.com/isocpp/CppCoreGuidelines/commit/1894380d0abf4d7d49a983005647e0d41ecbf214
Then clang-tidy got updated to comply with the rule.
However in 2019 this decision was reverted:
https://github.com/isocpp/CppCoreGuidelines/commit/5fdfb20b760c5307bf86873798a146fcd7e912e6
Therefore we need to apply the correct configuration to
clang-tidy again.
This also makes this cppcoreguidelines check consistent
with the other 2 alias checks: hicpp-use-override and
modernize-use-override.
Additionally, add another RUN line to the unit test,
to make sure cppcoreguidelines-explicit-virtual-functions
is tested.
Added:
Modified:
clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/test/clang-tidy/checkers/modernize-use-override.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
index c7b73dd675792..1c468b5cf0481 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
@@ -106,9 +106,6 @@ class CppCoreGuidelinesModule : public ClangTidyModule {
Opts["cppcoreguidelines-non-private-member-variables-in-classes."
"IgnoreClassesWithAllMemberVariablesBeingPublic"] = "true";
- Opts["cppcoreguidelines-explicit-virtual-functions."
- "IgnoreDestructors"] = "true";
-
return Options;
}
};
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 3257a3d187e6f..498c36e9beeb4 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -113,6 +113,10 @@ New check aliases
Changes in existing checks
^^^^^^^^^^^^^^^^^^^^^^^^^^
+- Removed default setting `cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors = "true"`,
+ to match the current state of the C++ Core Guidelines.
+
+
Removed checks
^^^^^^^^^^^^^^
diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize-use-override.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize-use-override.cpp
index 8e4e113e4f431..55f226be70869 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize-use-override.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize-use-override.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s modernize-use-override %t -- -- -fexceptions
+// RUN: %check_clang_tidy %s modernize-use-override,cppcoreguidelines-explicit-virtual-functions %t -- -- -fexceptions
#define ABSTRACT = 0
@@ -52,7 +52,7 @@ struct Base {
struct SimpleCases : public Base {
public:
virtual ~SimpleCases();
- // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: prefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]
+ // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: prefer using 'override' or (rarely) 'final' instead of 'virtual'
// CHECK-FIXES: {{^}} ~SimpleCases() override;
void a();
More information about the cfe-commits
mailing list