forked from OSchip/llvm-project
parent
159d6ad24b
commit
07e66ad7f8
|
@ -1,5 +1,5 @@
|
||||||
===================================================
|
===================================================
|
||||||
Extra Clang Tools 4.0.0 (In-Progress) Release Notes
|
Extra Clang Tools 5.0.0 (In-Progress) Release Notes
|
||||||
===================================================
|
===================================================
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
|
@ -10,15 +10,15 @@ Written by the `LLVM Team <http://llvm.org/>`_
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
These are in-progress notes for the upcoming Extra Clang Tools 4.0 release.
|
These are in-progress notes for the upcoming Extra Clang Tools 5 release.
|
||||||
You may prefer the `Extra Clang Tools 3.9 Release Notes
|
You may prefer the `Extra Clang Tools 4 Release Notes
|
||||||
<http://llvm.org/releases/3.9.0/tools/clang/tools/extra/docs/ReleaseNotes.html>`_.
|
<http://llvm.org/releases/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html>`_.
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
============
|
============
|
||||||
|
|
||||||
This document contains the release notes for the Extra Clang Tools, part of the
|
This document contains the release notes for the Extra Clang Tools, part of the
|
||||||
Clang release 4.0.0. Here we describe the status of the Extra Clang Tools in
|
Clang release 5.0.0. Here we describe the status of the Extra Clang Tools in
|
||||||
some detail, including major improvements from the previous release and new
|
some detail, including major improvements from the previous release and new
|
||||||
feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
||||||
site <http://llvm.org/releases/>`_.
|
site <http://llvm.org/releases/>`_.
|
||||||
|
@ -32,7 +32,7 @@ main Clang web page, this document applies to the *next* release, not
|
||||||
the current one. To see the release notes for a specific release, please
|
the current one. To see the release notes for a specific release, please
|
||||||
see the `releases page <http://llvm.org/releases/>`_.
|
see the `releases page <http://llvm.org/releases/>`_.
|
||||||
|
|
||||||
What's New in Extra Clang Tools 4.0.0?
|
What's New in Extra Clang Tools 5.0.0?
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
Some of the major new features and improvements to Extra Clang Tools are listed
|
Some of the major new features and improvements to Extra Clang Tools are listed
|
||||||
|
@ -52,159 +52,17 @@ The improvements are...
|
||||||
Improvements to clang-rename
|
Improvements to clang-rename
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
- Emacs integration was added.
|
The improvements are...
|
||||||
|
|
||||||
Improvements to clang-tidy
|
Improvements to clang-tidy
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
- New `cppcoreguidelines-slicing
|
The improvements are...
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-slicing.html>`_ check
|
|
||||||
|
|
||||||
Flags slicing of member variables or vtable.
|
|
||||||
|
|
||||||
- New `cppcoreguidelines-special-member-functions
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-special-member-functions.html>`_ check
|
|
||||||
|
|
||||||
Flags classes where some, but not all, special member functions are user-defined.
|
|
||||||
|
|
||||||
- The UseCERTSemantics option for the `misc-move-constructor-init
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/misc-move-constructor-init.html>`_ check
|
|
||||||
has been removed as it duplicated the `modernize-pass-by-value
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html>`_ check.
|
|
||||||
|
|
||||||
- New `misc-move-forwarding-reference
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/misc-move-forwarding-reference.html>`_ check
|
|
||||||
|
|
||||||
Warns when ``std::move`` is applied to a forwarding reference instead of
|
|
||||||
``std::forward``.
|
|
||||||
|
|
||||||
- `misc-pointer-and-integral-operation` check was removed.
|
|
||||||
|
|
||||||
- New `misc-string-compare
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/misc-string-compare.html>`_ check
|
|
||||||
|
|
||||||
Warns about using ``compare`` to test for string equality or inequality.
|
|
||||||
|
|
||||||
- New `misc-use-after-move
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/misc-use-after-move.html>`_ check
|
|
||||||
|
|
||||||
Warns if an object is used after it has been moved, without an intervening
|
|
||||||
reinitialization.
|
|
||||||
|
|
||||||
- New `cppcoreguidelines-no-malloc
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-no-malloc.html>`_ check
|
|
||||||
warns if C-style memory management is used and suggests the use of RAII.
|
|
||||||
|
|
||||||
- `modernize-make-unique
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-make-unique.html>`_
|
|
||||||
and `modernize-make-shared
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-make-shared.html>`_
|
|
||||||
now handle calls to the smart pointer's ``reset()`` method.
|
|
||||||
|
|
||||||
- The `modernize-pass-by-value
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html>`_ check
|
|
||||||
now has a ValuesOnly option to only warn about parameters that are passed by
|
|
||||||
value but not moved.
|
|
||||||
|
|
||||||
- The `modernize-use-auto
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html>`_ check
|
|
||||||
now warns about variable declarations that are initialized with a cast, or by
|
|
||||||
calling a templated function that behaves as 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-default-member-init
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-default-member-init.html>`_ check
|
|
||||||
|
|
||||||
Converts a default constructor's member initializers into default member initializers.
|
|
||||||
Removes member initializers that are the same as a default member initializer.
|
|
||||||
|
|
||||||
- New `modernize-use-equals-delete
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-delete.html>`_ check
|
|
||||||
|
|
||||||
Adds ``= delete`` to unimplemented private special member functions.
|
|
||||||
|
|
||||||
- New `modernize-use-transparent-functors
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-transparent-functors.html>`_ check
|
|
||||||
|
|
||||||
Replaces uses of non-transparent functors with transparent ones where applicable.
|
|
||||||
|
|
||||||
- New `mpi-buffer-deref
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/mpi-buffer-deref.html>`_ check
|
|
||||||
|
|
||||||
Flags buffers which are insufficiently dereferenced when passed to an MPI function call.
|
|
||||||
|
|
||||||
- New `mpi-type-mismatch
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/mpi-type-mismatch.html>`_ check
|
|
||||||
|
|
||||||
Flags MPI function calls with a buffer type and MPI data type mismatch.
|
|
||||||
|
|
||||||
- New `performance-inefficient-string-concatenation
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/performance-inefficient-string-concatenation.html>`_ check
|
|
||||||
|
|
||||||
Warns about the performance overhead arising from concatenating strings using
|
|
||||||
the ``operator+``, instead of ``operator+=``.
|
|
||||||
|
|
||||||
- New `performance-type-promotion-in-math-fn
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/performance-type-promotion-in-math-fn.html>`_ check
|
|
||||||
|
|
||||||
Replaces uses of C-style standard math functions with double parameters and float
|
|
||||||
arguments with an equivalent function that takes a float parameter.
|
|
||||||
|
|
||||||
- `readability-container-size-empty
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-container-size-empty.html>`_ check
|
|
||||||
supports arbitrary containers with with suitable ``empty()`` and ``size()``
|
|
||||||
methods.
|
|
||||||
|
|
||||||
- New `readability-misplaced-array-index
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-misplaced-array-index.html>`_ check
|
|
||||||
|
|
||||||
Warns when there is array index before the [] instead of inside it.
|
|
||||||
|
|
||||||
- New `readability-non-const-parameter
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-non-const-parameter.html>`_ check
|
|
||||||
|
|
||||||
Flags function parameters of a pointer type that could be changed to point to
|
|
||||||
a constant type instead.
|
|
||||||
|
|
||||||
- New `readability-redundant-declaration
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-declaration.html>`_ check
|
|
||||||
|
|
||||||
Finds redundant variable and function declarations.
|
|
||||||
|
|
||||||
- New `readability-redundant-function-ptr-dereference
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-function-ptr-dereference.html>`_ check
|
|
||||||
|
|
||||||
Finds redundant function pointer dereferences.
|
|
||||||
|
|
||||||
- New `readability-redundant-member-init
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-member-init.html>`_ check
|
|
||||||
|
|
||||||
Flags member initializations that are unnecessary because the same default
|
|
||||||
constructor would be called if they were not present.
|
|
||||||
|
|
||||||
- The `readability-redundant-string-cstr
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-string-cstr.html>`_ check
|
|
||||||
now warns about redundant calls to data() too.
|
|
||||||
|
|
||||||
- The `google-explicit-constructor
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/google-explicit-constructor.html>`_ check
|
|
||||||
now warns about conversion operators not marked explicit.
|
|
||||||
|
|
||||||
Fixed bugs:
|
|
||||||
|
|
||||||
- `modernize-make-unique
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-make-unique.html>`_
|
|
||||||
and `modernize-make-shared
|
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-make-shared.html>`_
|
|
||||||
Calling ``make_{unique|shared}`` from within a member function of a type
|
|
||||||
with a private or protected constructor would be ill-formed.
|
|
||||||
|
|
||||||
Improvements to include-fixer
|
Improvements to include-fixer
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
- Emacs integration was added.
|
The improvements are...
|
||||||
|
|
||||||
Improvements to modularize
|
Improvements to modularize
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
Loading…
Reference in New Issue