diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp @@ -25,7 +25,7 @@ StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), AllowMissingMoveFunctions(Options.get( "AllowMissingMoveFunctions", false)), - AllowSoleDefaultDtor(Options.get("AllowSoleDefaultDtor", false)), + AllowSoleDefaultDtor(Options.get("AllowSoleDefaultDtor", true)), AllowMissingMoveFunctionsWhenCopyIsDeleted( Options.get("AllowMissingMoveFunctionsWhenCopyIsDeleted", false)) {} diff --git a/clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst b/clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst --- a/clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst @@ -25,7 +25,7 @@ .. option:: AllowSoleDefaultDtor - When set to `true` (default is `false`), this check doesn't flag classes with a sole, explicitly + When set to `true` (default is `true`), this check doesn't flag classes with a sole, explicitly defaulted destructor. An example for such a class is: .. code-block:: c++ diff --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions-allow-missing-move-when-copy-is-deleted.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions-allow-missing-move-when-copy-is-deleted.cpp --- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions-allow-missing-move-when-copy-is-deleted.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions-allow-missing-move-when-copy-is-deleted.cpp @@ -43,7 +43,6 @@ MissingCopyOperator(const MissingCopyOperator &) = delete; }; -// CHECK-MESSAGES: [[@LINE+1]]:7: warning: class 'MissingAll' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] class MissingAll { ~MissingAll() = default; }; diff --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions.cpp --- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-special-member-functions.cpp @@ -1,5 +1,4 @@ -// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t - +// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -config="{CheckOptions: [{key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor, value: false}]}" -- class DefinesDestructor { ~DefinesDestructor(); };