diff options
author | Malcolm Parsons <malcolm.parsons@gmail.com> | 2016-12-01 17:24:42 +0000 |
---|---|---|
committer | Malcolm Parsons <malcolm.parsons@gmail.com> | 2016-12-01 17:24:42 +0000 |
commit | bcf23661d08a6f77d873d2b985b34cc70c9d39e7 (patch) | |
tree | fbef74b1ab091c916191f04bba433c1f57c23cda /clang-tools-extra | |
parent | 55082cddefbe7f4b7808bfcdfe0e7666713c99a4 (diff) | |
download | bcm5719-llvm-bcf23661d08a6f77d873d2b985b34cc70c9d39e7.tar.gz bcm5719-llvm-bcf23661d08a6f77d873d2b985b34cc70c9d39e7.zip |
[clang-tidy] Rename modernize-use-default to modernize-use-equals-default
Reviewers: angelgarcia, aaron.ballman, alexfh
Subscribers: JDevlieghere, Prazek, mgorny, cfe-commits
Differential Revision: https://reviews.llvm.org/D26511
llvm-svn: 288375
Diffstat (limited to 'clang-tools-extra')
12 files changed, 65 insertions, 47 deletions
diff --git a/clang-tools-extra/clang-tidy/add_new_check.py b/clang-tools-extra/clang-tidy/add_new_check.py index 868ccd14591..7032ad9cf8e 100755 --- a/clang-tools-extra/clang-tidy/add_new_check.py +++ b/clang-tools-extra/clang-tidy/add_new_check.py @@ -226,8 +226,13 @@ def update_checks_list(clang_tidy_path): def format_link(doc_file): check_name = doc_file.replace('.rst', '') with open(os.path.join(docs_dir, doc_file), 'r') as doc: + content = doc.read() + match = re.search('.*:orphan:.*', content) + if match: + return '' + match = re.search('.*:http-equiv=refresh: \d+;URL=(.*).html.*', - doc.read()) + content) if match: return ' %(check)s (redirects to %(target)s) <%(check)s>\n' % { 'check': check_name, diff --git a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt index 8fa3b00b1c6..6d178e0a845 100644 --- a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt @@ -16,8 +16,8 @@ add_clang_library(clangTidyModernizeModule ShrinkToFitCheck.cpp UseAutoCheck.cpp UseBoolLiteralsCheck.cpp - UseDefaultCheck.cpp UseEmplaceCheck.cpp + UseEqualsDefaultCheck.cpp UseEqualsDeleteCheck.cpp UseNullptrCheck.cpp UseOverrideCheck.cpp diff --git a/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp index 63147dae4a4..07b450dcf50 100644 --- a/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp @@ -22,8 +22,8 @@ #include "ShrinkToFitCheck.h" #include "UseAutoCheck.h" #include "UseBoolLiteralsCheck.h" -#include "UseDefaultCheck.h" #include "UseEmplaceCheck.h" +#include "UseEqualsDefaultCheck.h" #include "UseEqualsDeleteCheck.h" #include "UseNullptrCheck.h" #include "UseOverrideCheck.h" @@ -56,8 +56,8 @@ public: CheckFactories.registerCheck<UseAutoCheck>("modernize-use-auto"); CheckFactories.registerCheck<UseBoolLiteralsCheck>( "modernize-use-bool-literals"); - CheckFactories.registerCheck<UseDefaultCheck>("modernize-use-default"); CheckFactories.registerCheck<UseEmplaceCheck>("modernize-use-emplace"); + CheckFactories.registerCheck<UseEqualsDefaultCheck>("modernize-use-equals-default"); CheckFactories.registerCheck<UseEqualsDeleteCheck>( "modernize-use-equals-delete"); CheckFactories.registerCheck<UseNullptrCheck>("modernize-use-nullptr"); diff --git a/clang-tools-extra/clang-tidy/modernize/UseDefaultCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp index 09595f48196..1b677147be2 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseDefaultCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp @@ -1,4 +1,4 @@ -//===--- UseDefaultCheck.cpp - clang-tidy----------------------------------===// +//===--- UseEqualsDefaultCheck.cpp - clang-tidy----------------------------===// // // The LLVM Compiler Infrastructure // @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "UseDefaultCheck.h" +#include "UseEqualsDefaultCheck.h" #include "clang/AST/ASTContext.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "clang/Lex/Lexer.h" @@ -197,7 +197,7 @@ static bool bodyEmpty(const ASTContext *Context, const CompoundStmt *Body) { return !Invalid && std::strspn(Text.data(), " \t\r\n") == Text.size(); } -void UseDefaultCheck::registerMatchers(MatchFinder *Finder) { +void UseEqualsDefaultCheck::registerMatchers(MatchFinder *Finder) { if (getLangOpts().CPlusPlus) { // Destructor. Finder->addMatcher(cxxDestructorDecl(isDefinition()).bind(SpecialFunction), @@ -229,7 +229,7 @@ void UseDefaultCheck::registerMatchers(MatchFinder *Finder) { } } -void UseDefaultCheck::check(const MatchFinder::MatchResult &Result) { +void UseEqualsDefaultCheck::check(const MatchFinder::MatchResult &Result) { std::string SpecialFunctionName; // Both CXXConstructorDecl and CXXDestructorDecl inherit from CXXMethodDecl. diff --git a/clang-tools-extra/clang-tidy/modernize/UseDefaultCheck.h b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h index aa1859d8c0a..dfefed6dcee 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseDefaultCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h @@ -1,4 +1,4 @@ -//===--- UseDefaultCheck.h - clang-tidy--------------------------*- C++ -*-===// +//===--- UseEqualsDefaultCheck.h - clang-tidy--------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_DEFAULT_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_DEFAULT_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H #include "../ClangTidy.h" @@ -34,10 +34,10 @@ namespace modernize { /// \endcode /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-default.html -class UseDefaultCheck : public ClangTidyCheck { +/// http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html +class UseEqualsDefaultCheck : public ClangTidyCheck { public: - UseDefaultCheck(StringRef Name, ClangTidyContext *Context) + UseEqualsDefaultCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; @@ -47,4 +47,4 @@ public: } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_DEFAULT_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst index 3dc6ba8dda8..fb300972443 100644 --- a/clang-tools-extra/docs/ReleaseNotes.rst +++ b/clang-tools-extra/docs/ReleaseNotes.rst @@ -91,6 +91,9 @@ Improvements to clang-tidy <http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html>`_ check now warns about variable declarations that are initialized with a cast. +- The modernize-use-default check has been renamed to `modernize-use-equals-default + <http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html>`_. + - New `modernize-use-equals-delete <http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-delete.html>`_ check diff --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst b/clang-tools-extra/docs/clang-tidy/checks/list.rst index 08937715cb3..6cff1a2c966 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/list.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst @@ -18,7 +18,7 @@ Clang-Tidy Checks cert-err61-cpp (redirects to misc-throw-by-value-catch-by-reference) <cert-err61-cpp> cert-fio38-c (redirects to misc-non-copyable-objects) <cert-fio38-c> cert-flp30-c - cert-msc30-c (redirects to cert-limited-randomness) <cert-msc30-c> + cert-msc30-c (redirects to cert-msc50-cpp) <cert-msc30-c> cert-msc50-cpp cert-oop11-cpp (redirects to misc-move-constructor-init) <cert-oop11-cpp> cppcoreguidelines-interfaces-global-init @@ -109,8 +109,8 @@ Clang-Tidy Checks modernize-shrink-to-fit modernize-use-auto modernize-use-bool-literals - modernize-use-default modernize-use-emplace + modernize-use-equals-default modernize-use-equals-delete modernize-use-nullptr modernize-use-override diff --git a/clang-tools-extra/docs/clang-tidy/checks/modernize-use-default.rst b/clang-tools-extra/docs/clang-tidy/checks/modernize-use-default.rst index ef9ddd623f8..9090e5fd077 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/modernize-use-default.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/modernize-use-default.rst @@ -1,28 +1,10 @@ +:orphan: .. title:: clang-tidy - modernize-use-default +.. meta:: + :http-equiv=refresh: 5;URL=modernize-use-equals-default.html modernize-use-default ===================== -This check replaces default bodies of special member functions with ``= -default;``. The explicitly defaulted function declarations enable more -opportunities in optimization, because the compiler might treat explicitly -defaulted functions as trivial. - -.. code-block:: c++ - - struct A { - A() {} - ~A(); - }; - A::~A() {} - - // becomes - - struct A { - A() = default; - ~A(); - }; - A::~A() = default; - -.. note:: - Move-constructor and move-assignment operator are not supported yet. +This check has been renamed to +`modernize-use-equals-default <modernize-use-equals-default.html>`_. diff --git a/clang-tools-extra/docs/clang-tidy/checks/modernize-use-equals-default.rst b/clang-tools-extra/docs/clang-tidy/checks/modernize-use-equals-default.rst new file mode 100644 index 00000000000..b87f883fe1d --- /dev/null +++ b/clang-tools-extra/docs/clang-tidy/checks/modernize-use-equals-default.rst @@ -0,0 +1,28 @@ +.. title:: clang-tidy - modernize-use-equals-default + +modernize-use-equals-default +============================ + +This check replaces default bodies of special member functions with ``= +default;``. The explicitly defaulted function declarations enable more +opportunities in optimization, because the compiler might treat explicitly +defaulted functions as trivial. + +.. code-block:: c++ + + struct A { + A() {} + ~A(); + }; + A::~A() {} + + // becomes + + struct A { + A() = default; + ~A(); + }; + A::~A() = default; + +.. note:: + Move-constructor and move-assignment operator are not supported yet. diff --git a/clang-tools-extra/test/clang-tidy/modernize-use-default-copy.cpp b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default-copy.cpp index 0a349fbba00..df21cc0a05c 100644 --- a/clang-tools-extra/test/clang-tidy/modernize-use-default-copy.cpp +++ b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default-copy.cpp @@ -1,4 +1,4 @@ -// RUN: %check_clang_tidy %s modernize-use-default %t -- -- -std=c++11 -fno-delayed-template-parsing -fexceptions +// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- -- -std=c++11 -fno-delayed-template-parsing -fexceptions // Out of line definition. struct OL { @@ -7,13 +7,13 @@ struct OL { int Field; }; OL::OL(const OL &Other) : Field(Other.Field) {} -// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial copy constructor [modernize-use-default] +// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial copy constructor [modernize-use-equals-default] // CHECK-FIXES: OL::OL(const OL &Other) = default; OL &OL::operator=(const OL &Other) { Field = Other.Field; return *this; } -// CHECK-MESSAGES: :[[@LINE-4]]:9: warning: use '= default' to define a trivial copy-assignment operator [modernize-use-default] +// CHECK-MESSAGES: :[[@LINE-4]]:9: warning: use '= default' to define a trivial copy-assignment operator [modernize-use-equals-default] // CHECK-FIXES: OL &OL::operator=(const OL &Other) = default; // Inline. diff --git a/clang-tools-extra/test/clang-tidy/modernize-use-default-delayed.cpp b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default-delayed.cpp index c7163e8d934..953d88a9b79 100644 --- a/clang-tools-extra/test/clang-tidy/modernize-use-default-delayed.cpp +++ b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default-delayed.cpp @@ -1,4 +1,4 @@ -// RUN: clang-tidy %s -checks=-*,modernize-use-default -- -std=c++11 -fdelayed-template-parsing -fexceptions | count 0 +// RUN: clang-tidy %s -checks=-*,modernize-use-equals-default -- -std=c++11 -fdelayed-template-parsing -fexceptions | count 0 // Note: this test expects no diagnostics, but FileCheck cannot handle that, // hence the use of | count 0. diff --git a/clang-tools-extra/test/clang-tidy/modernize-use-default.cpp b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default.cpp index 14ca1bc980f..4892e58287d 100644 --- a/clang-tools-extra/test/clang-tidy/modernize-use-default.cpp +++ b/clang-tools-extra/test/clang-tidy/modernize-use-equals-default.cpp @@ -1,4 +1,4 @@ -// RUN: %check_clang_tidy %s modernize-use-default %t -- -- -std=c++11 -fno-delayed-template-parsing -fexceptions +// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- -- -std=c++11 -fno-delayed-template-parsing -fexceptions // Out of line definition. class OL { @@ -8,10 +8,10 @@ public: }; OL::OL() {} -// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial default constructor [modernize-use-default] +// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial default constructor [modernize-use-equals-default] // CHECK-FIXES: OL::OL() = default; OL::~OL() {} -// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial destructor [modernize-use-default] +// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use '= default' to define a trivial destructor [modernize-use-equals-default] // CHECK-FIXES: OL::~OL() = default; // Inline definitions. |