forked from OSchip/llvm-project
173 lines
5.6 KiB
ReStructuredText
173 lines
5.6 KiB
ReStructuredText
===================================================
|
|
Extra Clang Tools 9.0.0 (In-Progress) Release Notes
|
|
===================================================
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 3
|
|
|
|
Written by the `LLVM Team <https://llvm.org/>`_
|
|
|
|
.. warning::
|
|
|
|
These are in-progress notes for the upcoming Extra Clang Tools 9 release.
|
|
Release notes for previous releases can be found on
|
|
`the Download Page <https://releases.llvm.org/download.html>`_.
|
|
|
|
Introduction
|
|
============
|
|
|
|
This document contains the release notes for the Extra Clang Tools, part of the
|
|
Clang release 9.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 <https://llvm.org/releases/>`_.
|
|
|
|
For more information about Clang or LLVM, including information about
|
|
the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
|
|
the `LLVM Web Site <https://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 <https://llvm.org/releases/>`_.
|
|
|
|
What's New in Extra Clang Tools 9.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 clangd
|
|
----------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-doc
|
|
-------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-query
|
|
---------------------------
|
|
|
|
- ...
|
|
|
|
Improvements to clang-rename
|
|
----------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-tidy
|
|
--------------------------
|
|
|
|
- New OpenMP module.
|
|
|
|
For checks specific to `OpenMP <https://www.openmp.org/>`_ API.
|
|
|
|
- New :doc:`abseil-duration-addition
|
|
<clang-tidy/checks/abseil-duration-addition>` check.
|
|
|
|
Checks for cases where addition should be performed in the ``absl::Time``
|
|
domain.
|
|
|
|
- New :doc:`abseil-duration-conversion-cast
|
|
<clang-tidy/checks/abseil-duration-conversion-cast>` check.
|
|
|
|
Checks for casts of ``absl::Duration`` conversion functions, and recommends
|
|
the right conversion function instead.
|
|
|
|
- New :doc:`abseil-duration-unnecessary-conversion
|
|
<clang-tidy/checks/abseil-duration-unnecessary-conversion>` check.
|
|
|
|
Finds and fixes cases where ``absl::Duration`` values are being converted to
|
|
numeric types and back again.
|
|
|
|
- New :doc:`abseil-time-comparison
|
|
<clang-tidy/checks/abseil-time-comparison>` check.
|
|
|
|
Prefer comparisons in the ``absl::Time`` domain instead of the integer
|
|
domain.
|
|
|
|
- New :doc:`abseil-time-subtraction
|
|
<clang-tidy/checks/abseil-time-subtraction>` check.
|
|
|
|
Finds and fixes ``absl::Time`` subtraction expressions to do subtraction
|
|
in the Time domain instead of the numeric domain.
|
|
|
|
- New :doc:`google-readability-avoid-underscore-in-googletest-name
|
|
<clang-tidy/checks/google-readability-avoid-underscore-in-googletest-name>`
|
|
check.
|
|
|
|
Checks whether there are underscores in googletest test and test case names in
|
|
test macros, which is prohibited by the Googletest FAQ.
|
|
|
|
- New :doc:`objc-super-self <clang-tidy/checks/objc-super-self>` check.
|
|
|
|
Finds invocations of ``-self`` on super instances in initializers of
|
|
subclasses of ``NSObject`` and recommends calling a superclass initializer
|
|
instead.
|
|
|
|
- New alias :doc:`cppcoreguidelines-explicit-virtual-functions
|
|
<clang-tidy/checks/cppcoreguidelines-explicit-virtual-functions>` to
|
|
:doc:`modernize-use-override
|
|
<clang-tidy/checks/modernize-use-override>` was added.
|
|
|
|
- The :doc:`bugprone-argument-comment
|
|
<clang-tidy/checks/bugprone-argument-comment>` now supports
|
|
`CommentBoolLiterals`, `CommentIntegerLiterals`, `CommentFloatLiterals`,
|
|
`CommentUserDefiniedLiterals`, `CommentStringLiterals`,
|
|
`CommentCharacterLiterals` & `CommentNullPtrs` options.
|
|
|
|
- The :doc:`bugprone-too-small-loop-variable
|
|
<clang-tidy/checks/bugprone-too-small-loop-variable>` now supports
|
|
`MagnitudeBitsUpperLimit` option. The default value was set to 16,
|
|
which greatly reduces warnings related to loops which are unlikely to
|
|
cause an actual functional bug.
|
|
|
|
- The :doc:`google-runtime-int <clang-tidy/checks/google-runtime-int>`
|
|
check has been disabled in Objective-C++.
|
|
|
|
- The `Acronyms` and `IncludeDefaultAcronyms` options for the
|
|
:doc:`objc-property-declaration <clang-tidy/checks/objc-property-declaration>`
|
|
check have been removed.
|
|
|
|
- The :doc:`modernize-use-override
|
|
<clang-tidy/checks/modernize-use-override>` now supports `OverrideSpelling`
|
|
and `FinalSpelling` options.
|
|
|
|
- New :doc:`openmp-exception-escape
|
|
<clang-tidy/checks/openmp-exception-escape>` check.
|
|
|
|
Analyzes OpenMP Structured Blocks and checks that no exception escapes
|
|
out of the Structured Block it was thrown in.
|
|
|
|
- New :doc:`openmp-use-default-none
|
|
<clang-tidy/checks/openmp-use-default-none>` check.
|
|
|
|
Finds OpenMP directives that are allowed to contain a ``default`` clause,
|
|
but either don't specify it or the clause is specified but with the kind
|
|
other than ``none``, and suggests to use the ``default(none)`` clause.
|
|
|
|
Improvements to clang-include-fixer
|
|
-----------------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to modularize
|
|
--------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to pp-trace
|
|
------------------------
|
|
|
|
- Added a new option `-callbacks` to filter preprocessor callbacks. It replaces
|
|
the `-ignore` option.
|