forked from OSchip/llvm-project
190 lines
7.8 KiB
ReStructuredText
190 lines
7.8 KiB
ReStructuredText
===================================================
|
|
Extra Clang Tools 7.0.0 (In-Progress) Release Notes
|
|
===================================================
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 3
|
|
|
|
Written by the `LLVM Team <http://llvm.org/>`_
|
|
|
|
.. warning::
|
|
|
|
These are in-progress notes for the upcoming Extra Clang Tools 7 release.
|
|
Release notes for previous releases can be found on
|
|
`the Download Page <http://releases.llvm.org/download.html>`_.
|
|
|
|
Introduction
|
|
============
|
|
|
|
This document contains the release notes for the Extra Clang Tools, part of the
|
|
Clang release 7.0.0. Here we describe the status of the Extra Clang Tools in
|
|
some detail, including major improvements from the previous release and new
|
|
feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
|
site <http://llvm.org/releases/>`_.
|
|
|
|
For more information about Clang or LLVM, including information about
|
|
the latest release, please see the `Clang Web Site <http://clang.llvm.org>`_ or
|
|
the `LLVM Web Site <http://llvm.org>`_.
|
|
|
|
Note that if you are reading this file from a Subversion checkout or the
|
|
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
|
|
see the `releases page <http://llvm.org/releases/>`_.
|
|
|
|
What's New in Extra Clang Tools 7.0.0?
|
|
======================================
|
|
|
|
Some of the major new features and improvements to Extra Clang Tools are listed
|
|
here. Generic improvements to Extra Clang Tools as a whole or to its underlying
|
|
infrastructure are described first, followed by tool-specific sections.
|
|
|
|
Major New Features
|
|
------------------
|
|
|
|
...
|
|
|
|
Improvements to clang-query
|
|
---------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-rename
|
|
----------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-tidy
|
|
--------------------------
|
|
|
|
- New module ``portability``.
|
|
|
|
- New module ``zircon`` for checks related to Fuchsia's Zircon kernel.
|
|
|
|
- New `bugprone-throw-keyword-missing
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-throw-keyword-missing.html>`_ check
|
|
|
|
Diagnoses when a temporary object that appears to be an exception is
|
|
constructed but not thrown.
|
|
|
|
- New `cppcoreguidelines-avoid-goto
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-avoid-goto.html>`_ check
|
|
|
|
The usage of ``goto`` for control flow is error prone and should be replaced
|
|
with looping constructs. Every backward jump is rejected. Forward jumps are
|
|
only allowed in nested loops.
|
|
|
|
- New `fuchsia-multiple-inheritance
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/fuchsia-multiple-inheritance.html>`_ check
|
|
|
|
Warns if a class inherits from multiple classes that are not pure virtual.
|
|
|
|
- New `abseil` module for checks related to the `Abseil <https://abseil.io>`_
|
|
library.
|
|
|
|
- New `abseil-string-find-startswith
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/abseil-string-find-startswith.html>`_ check
|
|
|
|
Checks whether a ``std::string::find()`` result is compared with 0, and
|
|
suggests replacing with ``absl::StartsWith()``.
|
|
|
|
- New `fuchsia-statically-constructed-objects
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/fuchsia-statically-constructed-objects.html>`_ check
|
|
|
|
Warns if global, non-trivial objects with static storage are constructed,
|
|
unless the object is statically initialized with a ``constexpr`` constructor
|
|
or has no explicit constructor.
|
|
|
|
- New `fuchsia-trailing-return
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/fuchsia-trailing-return.html>`_ check
|
|
|
|
Functions that have trailing returns are disallowed, except for those
|
|
using ``decltype`` specifiers and lambda with otherwise unutterable
|
|
return types.
|
|
|
|
- New `modernize-use-uncaught-exceptions
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-uncaught-exceptions.html>`_ check
|
|
|
|
Finds and replaces deprecated uses of ``std::uncaught_exception`` to
|
|
``std::uncaught_exceptions``.
|
|
|
|
- New `portability-simd-intrinsics
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/portability-simd-intrinsics.html>`_ check
|
|
|
|
Warns or suggests alternatives if SIMD intrinsics are used which can be replaced by
|
|
``std::experimental::simd`` operations.
|
|
|
|
- New `zircon-temporary-objects
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/zircon-temporary-objects.html>`_ check
|
|
|
|
Warns on construction of specific temporary objects in the Zircon kernel.
|
|
|
|
- New alias `hicpp-avoid-goto
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/hicpp-avoid-goto.html>`_ to
|
|
`cppcoreguidelines-avoid-goto <http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-avoid-goto.html>`_
|
|
added.
|
|
|
|
- The 'misc-forwarding-reference-overload' check was renamed to `bugprone-forwarding-reference-overload
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-forwarding-reference-overload.html>`_
|
|
|
|
- The 'misc-incorrect-roundings' check was renamed to `bugprone-incorrect-roundings
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-incorrect-roundings.html>`_
|
|
|
|
- The 'misc-lambda-function-name' check was renamed to `bugprone-lambda-function-name
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-lambda-function-name.html>`_
|
|
|
|
- The 'misc-macro-parentheses' check was renamed to `bugprone-macro-parentheses
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-macro-parentheses.html>`_
|
|
|
|
- The 'misc-macro-repeated-side-effects' check was renamed to `bugprone-macro-repeated-side-effects
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-macro-repeated-side-effects.html>`_
|
|
|
|
- The 'misc-misplaced-widening-cast' check was renamed to `bugprone-misplaced-widening-cast
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-misplaced-widening-cast.html>`_
|
|
|
|
- The 'misc-sizeof-container' check was renamed to `bugprone-sizeof-container
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-container.html>`_
|
|
|
|
- The 'misc-sizeof-expression' check was renamed to `bugprone-sizeof-expression
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-expression.html>`_
|
|
|
|
- The 'misc-string-compare' check was renamed to `readability-string-compare
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/readability-string-compare.html>`_
|
|
|
|
- The 'misc-string-integer-assignment' check was renamed to `bugprone-string-integer-assignment
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-integer-assignment.html>`_
|
|
|
|
- The 'misc-string-literal-with-embedded-nul' check was renamed to `bugprone-string-literal-with-embedded-nul
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.html>`_
|
|
|
|
- The 'misc-suspicious-enum-usage' check was renamed to `bugprone-suspicious-enum-usage
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-suspicious-enum-usage.html>`_
|
|
|
|
- The 'misc-suspicious-missing-comma' check was renamed to `bugprone-suspicious-missing-comma
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-suspicious-missing-comma.html>`_
|
|
|
|
- The 'misc-suspicious-semicolon' check was renamed to `bugprone-suspicious-semicolon
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-suspicious-semicolon.html>`_
|
|
|
|
- The 'misc-suspicious-string-compare' check was renamed to `bugprone-suspicious-string-compare
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-suspicious-string-compare.html>`_
|
|
|
|
- The 'misc-swapped-arguments' check was renamed to `bugprone-swapped-arguments
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-swapped-arguments.html>`_
|
|
|
|
- The 'misc-undelegated-constructor' check was renamed to `bugprone-undelegated-constructor
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-undelegated-constructor.html>`_
|
|
|
|
- The 'misc-unused-raii' check was renamed to `bugprone-unused-raii
|
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-unused-raii.html>`_
|
|
|
|
Improvements to include-fixer
|
|
-----------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to modularize
|
|
--------------------------
|
|
|
|
The improvements are...
|