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(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits