annotate clang-tools-extra/docs/ReleaseNotes.rst @ 237:c80f45b162ad llvm-original

add some fix
author kono
date Wed, 09 Nov 2022 17:47:54 +0900
parents c4bab56944e8
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 ====================================================
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
2 Extra Clang Tools |release| |ReleaseNotesTitle|
150
anatofuz
parents:
diff changeset
3 ====================================================
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 .. contents::
anatofuz
parents:
diff changeset
6 :local:
anatofuz
parents:
diff changeset
7 :depth: 3
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 Written by the `LLVM Team <https://llvm.org/>`_
anatofuz
parents:
diff changeset
10
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
11 .. only:: PreRelease
150
anatofuz
parents:
diff changeset
12
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
13 .. warning::
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
14 These are in-progress notes for the upcoming Extra Clang Tools |version| release.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
15 Release notes for previous releases can be found on
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
16 `the Download Page <https://releases.llvm.org/download.html>`_.
150
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18 Introduction
anatofuz
parents:
diff changeset
19 ============
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 This document contains the release notes for the Extra Clang Tools, part of the
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
22 Clang release |release|. Here we describe the status of the Extra Clang Tools in
150
anatofuz
parents:
diff changeset
23 some detail, including major improvements from the previous release and new
anatofuz
parents:
diff changeset
24 feature work. All LLVM releases may be downloaded from the `LLVM releases web
anatofuz
parents:
diff changeset
25 site <https://llvm.org/releases/>`_.
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 For more information about Clang or LLVM, including information about
anatofuz
parents:
diff changeset
28 the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
anatofuz
parents:
diff changeset
29 the `LLVM Web Site <https://llvm.org>`_.
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 Note that if you are reading this file from a Git checkout or the
anatofuz
parents:
diff changeset
32 main Clang web page, this document applies to the *next* release, not
anatofuz
parents:
diff changeset
33 the current one. To see the release notes for a specific release, please
anatofuz
parents:
diff changeset
34 see the `releases page <https://llvm.org/releases/>`_.
anatofuz
parents:
diff changeset
35
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
36 What's New in Extra Clang Tools |release|?
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
37 ==========================================
150
anatofuz
parents:
diff changeset
38
anatofuz
parents:
diff changeset
39 Some of the major new features and improvements to Extra Clang Tools are listed
anatofuz
parents:
diff changeset
40 here. Generic improvements to Extra Clang Tools as a whole or to its underlying
anatofuz
parents:
diff changeset
41 infrastructure are described first, followed by tool-specific sections.
anatofuz
parents:
diff changeset
42
anatofuz
parents:
diff changeset
43 Major New Features
anatofuz
parents:
diff changeset
44 ------------------
anatofuz
parents:
diff changeset
45
anatofuz
parents:
diff changeset
46 ...
anatofuz
parents:
diff changeset
47
anatofuz
parents:
diff changeset
48 Improvements to clangd
anatofuz
parents:
diff changeset
49 ----------------------
anatofuz
parents:
diff changeset
50
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
51 Inlay hints
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
52 ^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
53
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
54 Diagnostics
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
55 ^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
56
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
57 Semantic Highlighting
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
58 ^^^^^^^^^^^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
59
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
60 Compile flags
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
61 ^^^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
62
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
63 Hover
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
64 ^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
65
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
66 Code completion
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
67 ^^^^^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
68
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
69 Signature help
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
70 ^^^^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
71
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
72 Cross-references
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
73 ^^^^^^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
74
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
75 Objective-C
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
76 ^^^^^^^^^^^
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
77
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
78 Miscellaneous
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
79 ^^^^^^^^^^^^^
150
anatofuz
parents:
diff changeset
80
anatofuz
parents:
diff changeset
81 Improvements to clang-doc
anatofuz
parents:
diff changeset
82 -------------------------
anatofuz
parents:
diff changeset
83
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
84 - The default executor was changed to standalone to match other tools.
150
anatofuz
parents:
diff changeset
85
anatofuz
parents:
diff changeset
86 Improvements to clang-query
anatofuz
parents:
diff changeset
87 ---------------------------
anatofuz
parents:
diff changeset
88
anatofuz
parents:
diff changeset
89 The improvements are...
anatofuz
parents:
diff changeset
90
anatofuz
parents:
diff changeset
91 Improvements to clang-rename
anatofuz
parents:
diff changeset
92 ----------------------------
anatofuz
parents:
diff changeset
93
anatofuz
parents:
diff changeset
94 The improvements are...
anatofuz
parents:
diff changeset
95
anatofuz
parents:
diff changeset
96 Improvements to clang-tidy
anatofuz
parents:
diff changeset
97 --------------------------
anatofuz
parents:
diff changeset
98
anatofuz
parents:
diff changeset
99 New checks
anatofuz
parents:
diff changeset
100 ^^^^^^^^^^
anatofuz
parents:
diff changeset
101
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
102 - New :doc:`bugprone-suspicious-realloc-usage
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
103 <clang-tidy/checks/bugprone/suspicious-realloc-usage>` check.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
104
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
105 Finds usages of ``realloc`` where the return value is assigned to the
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
106 same expression as passed to the first argument.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
107
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
108 - New :doc:`cppcoreguidelines-avoid-const-or-ref-data-members
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
109 <clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members>` check.
223
5f17cb93ff66 LLVM13 (2021/7/18)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 221
diff changeset
110
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
111 Warns when a struct or class uses const or reference (lvalue or rvalue) data members.
150
anatofuz
parents:
diff changeset
112
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
113 - New :doc:`cppcoreguidelines-avoid-do-while
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
114 <clang-tidy/checks/cppcoreguidelines/avoid-do-while>` check.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
115
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
116 Warns when using ``do-while`` loops.
232
70dce7da266c llvm original Jul 20 16:41:34 2021
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 223
diff changeset
117
150
anatofuz
parents:
diff changeset
118 New check aliases
anatofuz
parents:
diff changeset
119 ^^^^^^^^^^^^^^^^^
anatofuz
parents:
diff changeset
120
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
121 - New alias :doc:`cert-msc54-cpp
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
122 <clang-tidy/checks/cert/msc54-cpp>` to
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
123 :doc:`bugprone-signal-handler
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
124 <clang-tidy/checks/bugprone/signal-handler>` was added.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
125
232
70dce7da266c llvm original Jul 20 16:41:34 2021
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 223
diff changeset
126
150
anatofuz
parents:
diff changeset
127 Changes in existing checks
anatofuz
parents:
diff changeset
128 ^^^^^^^^^^^^^^^^^^^^^^^^^^
anatofuz
parents:
diff changeset
129
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
130 - Fixed a false positive in :doc:`bugprone-assignment-in-if-condition
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
131 <clang-tidy/checks/bugprone/assignment-in-if-condition>` check when there
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
132 was an assignement in a lambda found in the condition of an ``if``.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
133
221
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
134 - Improved :doc:`bugprone-signal-handler
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
135 <clang-tidy/checks/bugprone/signal-handler>` check. Partial
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
136 support for C++14 signal handler rules was added. Bug report generation was
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
137 improved.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
138
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
139 - Fixed a false positive in :doc:`cppcoreguidelines-pro-type-member-init
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
140 <clang-tidy/checks/cppcoreguidelines/pro-type-member-init>` when warnings
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
141 would be emitted for uninitialized members of an anonymous union despite
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
142 there being an initializer for one of the other members.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
143
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
144 - Improved :doc:`modernize-use-emplace <clang-tidy/checks/modernize/use-emplace>`
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
145 check.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
146
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
147 The check now supports detecting inefficient invocations of ``push`` and
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
148 ``push_front`` on STL-style containers and replacing them with ``emplace``
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
149 or ``emplace_front``.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
150
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
151 The check now supports detecting alias cases of ``push_back`` ``push`` and
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
152 ``push_front`` on STL-style containers and replacing them with ``emplace_back``,
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
153 ``emplace`` or ``emplace_front``.
150
anatofuz
parents:
diff changeset
154
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
155 - Improved :doc:`modernize-use-equals-default <clang-tidy/checks/modernize/use-equals-default>`
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
156 check.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
157
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
158 The check now skips unions/union-like classes since in this case a default constructor
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
159 with empty body is not equivalent to the explicitly defaulted one, variadic constructors
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
160 since they cannot be explicitly defaulted. The check also skips copy assignment operators
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
161 with nonstandard return types, template constructors, private/protected default constructors
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
162 for C++17 or earlier. The automatic fixit has been adjusted to avoid adding superfluous
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
163 semicolon. The check is restricted to C++11 or later.
150
anatofuz
parents:
diff changeset
164
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
165 - Change the default behavior of :doc:`readability-avoid-const-params-in-decls
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
166 <clang-tidy/checks/readability/avoid-const-params-in-decls>` to not
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
167 warn about `const` value parameters of declarations inside macros.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
168
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
169 - Fixed crashes in :doc:`readability-braces-around-statements
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
170 <clang-tidy/checks/readability/braces-around-statements>` and
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
171 :doc:`readability-simplify-boolean-expr <clang-tidy/checks/readability/simplify-boolean-expr>`
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
172 when using a C++23 ``if consteval`` statement.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
173
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
174 - Improved :doc:`misc-redundant-expression <clang-tidy/checks/misc/redundant-expression>`
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
175 check.
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
176
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
177 The check now skips concept definitions since redundant expressions still make sense
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
178 inside them.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
179
221
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
180 Removed checks
150
anatofuz
parents:
diff changeset
181 ^^^^^^^^^^^^^^
anatofuz
parents:
diff changeset
182
anatofuz
parents:
diff changeset
183 Improvements to include-fixer
anatofuz
parents:
diff changeset
184 -----------------------------
anatofuz
parents:
diff changeset
185
anatofuz
parents:
diff changeset
186 The improvements are...
anatofuz
parents:
diff changeset
187
anatofuz
parents:
diff changeset
188 Improvements to clang-include-fixer
anatofuz
parents:
diff changeset
189 -----------------------------------
anatofuz
parents:
diff changeset
190
anatofuz
parents:
diff changeset
191 The improvements are...
anatofuz
parents:
diff changeset
192
anatofuz
parents:
diff changeset
193 Improvements to modularize
anatofuz
parents:
diff changeset
194 --------------------------
anatofuz
parents:
diff changeset
195
anatofuz
parents:
diff changeset
196 The improvements are...
anatofuz
parents:
diff changeset
197
anatofuz
parents:
diff changeset
198 Improvements to pp-trace
anatofuz
parents:
diff changeset
199 ------------------------
anatofuz
parents:
diff changeset
200
236
c4bab56944e8 LLVM 16
kono
parents: 232
diff changeset
201 Clang-tidy Visual Studio plugin
150
anatofuz
parents:
diff changeset
202 -------------------------------