From e32ede16bfbd6cd7b2f99e7ec5559aaa69f7f6f6 Mon Sep 17 00:00:00 2001 From: Alexander Kornienko <alexfh@google.com> Date: Wed, 4 Nov 2015 19:34:55 +0000 Subject: [PATCH] Removed mentions of clang-modernize, added a short description of clang-tidy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252066 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ClangTools.rst | 42 +++++++++--------------------------------- 1 file changed, 9 insertions(+), 33 deletions(-) diff --git a/docs/ClangTools.rst b/docs/ClangTools.rst index 8957541c250..946db1f7d2c 100644 --- a/docs/ClangTools.rst +++ b/docs/ClangTools.rst @@ -93,18 +93,6 @@ as a user tool (ideally with powerful IDE integrations) and as part of other refactoring tools, e.g. to do a reformatting of all the lines changed during a renaming. -``clang-modernize`` -~~~~~~~~~~~~~~~~~~~ -``clang-modernize`` migrates C++ code to use C++11 features where appropriate. -Currently it can: - -* convert loops to range-based for loops; - -* convert null pointer constants (like ``NULL`` or ``0``) to C++11 ``nullptr``; - -* replace the type specifier in variable declarations with the ``auto`` type specifier; - -* add the ``override`` specifier to applicable member functions. Extra Clang Tools ================= @@ -114,6 +102,15 @@ they'll be tracked here. The focus of this documentation is on the scope and features of the tools for other tool developers; each tool should provide its own user-focused documentation. +``clang-tidy`` +~~~~~~~~~~~~~~ + +`clang-tidy <http://clang.llvm.org/extra/clang-tidy/>` is a clang-based C++ +linter tool. It provides an extensible framework for building compiler-based +static analyses detecting and fixing bug-prone patterns, performance, +portability and maintainability issues. + + Ideas for new Tools =================== @@ -124,27 +121,6 @@ Ideas for new Tools ``foo.begin()`` into ``begin(foo)`` and similarly for ``end()``, where ``foo`` is a standard container. We could also detect similar patterns for arrays. -* ``make_shared`` / ``make_unique`` conversion. Part of this transformation - can be incorporated into the ``auto`` transformation. Will convert - - .. code-block:: c++ - - std::shared_ptr<Foo> sp(new Foo); - std::unique_ptr<Foo> up(new Foo); - - func(std::shared_ptr<Foo>(new Foo), bar()); - - into: - - .. code-block:: c++ - - auto sp = std::make_shared<Foo>(); - auto up = std::make_unique<Foo>(); // In C++14 mode. - - // This also affects correctness. For the cases where bar() throws, - // make_shared() is safe and the original code may leak. - func(std::make_shared<Foo>(), bar()); - * ``tr1`` removal tool. Will migrate source code from using TR1 library features to C++11 library. For example: -- GitLab