150
|
1 ====================================================
|
221
|
2 Extra Clang Tools 13.0.0 (In-Progress) Release Notes
|
150
|
3 ====================================================
|
|
4
|
|
5 .. contents::
|
|
6 :local:
|
|
7 :depth: 3
|
|
8
|
|
9 Written by the `LLVM Team <https://llvm.org/>`_
|
|
10
|
|
11 .. warning::
|
|
12
|
221
|
13 These are in-progress notes for the upcoming Extra Clang Tools 13 release.
|
150
|
14 Release notes for previous releases can be found on
|
|
15 `the Download Page <https://releases.llvm.org/download.html>`_.
|
|
16
|
|
17 Introduction
|
|
18 ============
|
|
19
|
|
20 This document contains the release notes for the Extra Clang Tools, part of the
|
221
|
21 Clang release 13.0.0. Here we describe the status of the Extra Clang Tools in
|
150
|
22 some detail, including major improvements from the previous release and new
|
|
23 feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
|
24 site <https://llvm.org/releases/>`_.
|
|
25
|
|
26 For more information about Clang or LLVM, including information about
|
|
27 the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
|
|
28 the `LLVM Web Site <https://llvm.org>`_.
|
|
29
|
|
30 Note that if you are reading this file from a Git checkout or the
|
|
31 main Clang web page, this document applies to the *next* release, not
|
|
32 the current one. To see the release notes for a specific release, please
|
|
33 see the `releases page <https://llvm.org/releases/>`_.
|
|
34
|
221
|
35 What's New in Extra Clang Tools 13.0.0?
|
150
|
36 =======================================
|
|
37
|
|
38 Some of the major new features and improvements to Extra Clang Tools are listed
|
|
39 here. Generic improvements to Extra Clang Tools as a whole or to its underlying
|
|
40 infrastructure are described first, followed by tool-specific sections.
|
|
41
|
|
42 Major New Features
|
|
43 ------------------
|
|
44
|
|
45 ...
|
|
46
|
|
47 Improvements to clangd
|
|
48 ----------------------
|
|
49
|
|
50 The improvements are...
|
|
51
|
|
52 Improvements to clang-doc
|
|
53 -------------------------
|
|
54
|
|
55 The improvements are...
|
|
56
|
|
57 Improvements to clang-query
|
|
58 ---------------------------
|
|
59
|
|
60 The improvements are...
|
|
61
|
|
62 Improvements to clang-rename
|
|
63 ----------------------------
|
|
64
|
|
65 The improvements are...
|
|
66
|
|
67 Improvements to clang-tidy
|
|
68 --------------------------
|
|
69
|
221
|
70 - The `run-clang-tidy.py` helper script is now installed in `bin/` as
|
|
71 `run-clang-tidy`. It was previously installed in `share/clang/`.
|
|
72
|
|
73 - Added command line option `--fix-notes` to apply fixes found in notes
|
|
74 attached to warnings. These are typically cases where we are less confident
|
|
75 the fix will have the desired effect.
|
173
|
76
|
221
|
77 - libToolingCore and Clang-Tidy was refactored and now checks can produce
|
|
78 highlights (`^~~~~` under fragments of the source code) in diagnostics.
|
|
79 Existing and new checks in the future can be expected to start implementing
|
|
80 this functionality.
|
|
81 This change only affects the visual rendering of diagnostics, and does not
|
|
82 alter the behavior of generated fixes.
|
173
|
83
|
150
|
84 New checks
|
|
85 ^^^^^^^^^^
|
|
86
|
221
|
87 - New :doc:`bugprone-implicit-widening-of-multiplication-result
|
|
88 <clang-tidy/checks/bugprone-implicit-widening-of-multiplication-result>` check.
|
150
|
89
|
221
|
90 Diagnoses instances of an implicit widening of multiplication result.
|
173
|
91
|
221
|
92 - New :doc:`concurrency-thread-canceltype-asynchronous
|
|
93 <clang-tidy/checks/concurrency-thread-canceltype-asynchronous>` check.
|
150
|
94
|
221
|
95 Finds ``pthread_setcanceltype`` function calls where a thread's cancellation
|
|
96 type is set to asynchronous.
|
173
|
97
|
221
|
98 - New :doc:`altera-id-dependent-backward-branch
|
|
99 <clang-tidy/checks/altera-id-dependent-backward-branch>` check.
|
150
|
100
|
221
|
101 Finds ID-dependent variables and fields that are used within loops. This
|
|
102 causes branches to occur inside the loops, and thus leads to performance
|
|
103 degradation.
|
173
|
104
|
221
|
105 - New :doc:`altera-unroll-loops
|
|
106 <clang-tidy/checks/altera-unroll-loops>` check.
|
173
|
107
|
221
|
108 Finds inner loops that have not been unrolled, as well as fully unrolled
|
|
109 loops with unknown loops bounds or a large number of iterations.
|
173
|
110
|
223
|
111 - New :doc:`bugprone-easily-swappable-parameters
|
|
112 <clang-tidy/checks/bugprone-easily-swappable-parameters>` check.
|
|
113
|
|
114 Finds function definitions where parameters of convertible types follow each
|
|
115 other directly, making call sites prone to calling the function with
|
|
116 swapped (or badly ordered) arguments.
|
|
117
|
221
|
118 - New :doc:`cppcoreguidelines-prefer-member-initializer
|
|
119 <clang-tidy/checks/cppcoreguidelines-prefer-member-initializer>` check.
|
150
|
120
|
221
|
121 Finds member initializations in the constructor body which can be placed into
|
|
122 the initialization list instead.
|
173
|
123
|
221
|
124 - New :doc:`bugprone-unhandled-exception-at-new
|
|
125 <clang-tidy/checks/bugprone-unhandled-exception-at-new>` check.
|
173
|
126
|
221
|
127 Finds calls to ``new`` with missing exception handler for ``std::bad_alloc``.
|
173
|
128
|
150
|
129 New check aliases
|
|
130 ^^^^^^^^^^^^^^^^^
|
|
131
|
221
|
132 - New alias :doc:`cert-pos47-c
|
|
133 <clang-tidy/checks/cert-pos47-c>` to
|
|
134 :doc:`concurrency-thread-canceltype-asynchronous
|
|
135 <clang-tidy/checks/concurrency-thread-canceltype-asynchronous>` was added.
|
173
|
136
|
150
|
137 Changes in existing checks
|
|
138 ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
139
|
221
|
140 - Improved :doc:`bugprone-signal-handler
|
|
141 <clang-tidy/checks/bugprone-signal-handler>` check.
|
173
|
142
|
221
|
143 Added an option to choose the set of allowed functions.
|
150
|
144
|
221
|
145 - Improved :doc:`readability-uniqueptr-delete-release
|
|
146 <clang-tidy/checks/readability-uniqueptr-delete-release>` check.
|
150
|
147
|
221
|
148 Added an option to choose whether to refactor by calling the ``reset`` member
|
|
149 function or assignment to ``nullptr``.
|
|
150 Added support for pointers to ``std::unique_ptr``.
|
173
|
151
|
221
|
152 Removed checks
|
150
|
153 ^^^^^^^^^^^^^^
|
|
154
|
221
|
155 - The readability-deleted-default check has been removed.
|
|
156
|
|
157 The clang warning `Wdefaulted-function-deleted
|
|
158 <https://clang.llvm.org/docs/DiagnosticsReference.html#wdefaulted-function-deleted>`_
|
|
159 will diagnose the same issues and is enabled by default.
|
150
|
160
|
|
161 Improvements to include-fixer
|
|
162 -----------------------------
|
|
163
|
|
164 The improvements are...
|
|
165
|
|
166 Improvements to clang-include-fixer
|
|
167 -----------------------------------
|
|
168
|
|
169 The improvements are...
|
|
170
|
|
171 Improvements to modularize
|
|
172 --------------------------
|
|
173
|
|
174 The improvements are...
|
|
175
|
|
176 Improvements to pp-trace
|
|
177 ------------------------
|
|
178
|
|
179 The improvements are...
|
|
180
|
|
181 Clang-tidy visual studio plugin
|
|
182 -------------------------------
|