Mercurial > hg > CbC > CbC_llvm
comparison clang-tools-extra/docs/ReleaseNotes.rst @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
79 ^^^^^^^^^^^^^ | 79 ^^^^^^^^^^^^^ |
80 | 80 |
81 Improvements to clang-doc | 81 Improvements to clang-doc |
82 ------------------------- | 82 ------------------------- |
83 | 83 |
84 - The default executor was changed to standalone to match other tools. | |
85 | |
86 Improvements to clang-query | 84 Improvements to clang-query |
87 --------------------------- | 85 --------------------------- |
88 | 86 |
89 The improvements are... | 87 The improvements are... |
90 | 88 |
94 The improvements are... | 92 The improvements are... |
95 | 93 |
96 Improvements to clang-tidy | 94 Improvements to clang-tidy |
97 -------------------------- | 95 -------------------------- |
98 | 96 |
97 - Preprocessor-level module header parsing is now disabled by default due to | |
98 the problems it caused in C++20 and above, leading to performance and code | |
99 parsing issues regardless of whether modules were used or not. This change | |
100 will impact only the following checks: | |
101 :doc:`modernize-replace-disallow-copy-and-assign-macro | |
102 <clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro>`, | |
103 :doc:`bugprone-reserved-identifier | |
104 <clang-tidy/checks/bugprone/reserved-identifier>`, and | |
105 :doc:`readability-identifier-naming | |
106 <clang-tidy/checks/readability/identifier-naming>`. Those checks will no | |
107 longer see macros defined in modules. Users can still enable this | |
108 functionality using the newly added command line option | |
109 `--enable-module-headers-parsing`. | |
110 | |
111 - Remove configuration option `AnalyzeTemporaryDestructors`, which was deprecated since | |
112 :program:`clang-tidy` 16. | |
113 | |
114 - Improved `--dump-config` to print check options in alphabetical order. | |
115 | |
99 New checks | 116 New checks |
100 ^^^^^^^^^^ | 117 ^^^^^^^^^^ |
101 | 118 |
102 - New :doc:`bugprone-suspicious-realloc-usage | 119 - New :doc:`bugprone-inc-dec-in-conditions |
103 <clang-tidy/checks/bugprone/suspicious-realloc-usage>` check. | 120 <clang-tidy/checks/bugprone/inc-dec-in-conditions>` check. |
104 | 121 |
105 Finds usages of ``realloc`` where the return value is assigned to the | 122 Detects when a variable is both incremented/decremented and referenced inside |
106 same expression as passed to the first argument. | 123 a complex condition and suggests moving them outside to avoid ambiguity in |
107 | 124 the variable's value. |
108 - New :doc:`cppcoreguidelines-avoid-const-or-ref-data-members | 125 |
109 <clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members>` check. | 126 - New :doc:`bugprone-multi-level-implicit-pointer-conversion |
110 | 127 <clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion>` check. |
111 Warns when a struct or class uses const or reference (lvalue or rvalue) data members. | 128 |
112 | 129 Detects implicit conversions between pointers of different levels of |
113 - New :doc:`cppcoreguidelines-avoid-do-while | 130 indirection. |
114 <clang-tidy/checks/cppcoreguidelines/avoid-do-while>` check. | 131 |
115 | 132 - New :doc:`bugprone-optional-value-conversion |
116 Warns when using ``do-while`` loops. | 133 <clang-tidy/checks/bugprone/optional-value-conversion>` check. |
134 | |
135 Detects potentially unintentional and redundant conversions where a value is | |
136 extracted from an optional-like type and then used to create a new instance | |
137 of the same optional-like type. | |
138 | |
139 - New :doc:`cppcoreguidelines-no-suspend-with-lock | |
140 <clang-tidy/checks/cppcoreguidelines/no-suspend-with-lock>` check. | |
141 | |
142 Flags coroutines that suspend while a lock guard is in scope at the | |
143 suspension point. | |
144 | |
145 - New :doc:`modernize-use-constraints | |
146 <clang-tidy/checks/modernize/use-constraints>` check. | |
147 | |
148 Replace ``enable_if`` with C++20 requires clauses. | |
149 | |
150 - New :doc:`performance-enum-size | |
151 <clang-tidy/checks/performance/enum-size>` check. | |
152 | |
153 Recommends the smallest possible underlying type for an ``enum`` or ``enum`` | |
154 class based on the range of its enumerators. | |
155 | |
156 - New :doc:`readability-reference-to-constructed-temporary | |
157 <clang-tidy/checks/readability/reference-to-constructed-temporary>` check. | |
158 | |
159 Detects C++ code where a reference variable is used to extend the lifetime | |
160 of a temporary object that has just been constructed. | |
117 | 161 |
118 New check aliases | 162 New check aliases |
119 ^^^^^^^^^^^^^^^^^ | 163 ^^^^^^^^^^^^^^^^^ |
120 | 164 |
121 - New alias :doc:`cert-msc54-cpp | 165 - New alias :doc:`cppcoreguidelines-macro-to-enum |
122 <clang-tidy/checks/cert/msc54-cpp>` to | 166 <clang-tidy/checks/cppcoreguidelines/macro-to-enum>` to :doc:`modernize-macro-to-enum |
123 :doc:`bugprone-signal-handler | 167 <clang-tidy/checks/modernize/macro-to-enum>` was added. |
124 <clang-tidy/checks/bugprone/signal-handler>` was added. | |
125 | |
126 | 168 |
127 Changes in existing checks | 169 Changes in existing checks |
128 ^^^^^^^^^^^^^^^^^^^^^^^^^^ | 170 ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
129 | 171 |
130 - Fixed a false positive in :doc:`bugprone-assignment-in-if-condition | 172 - Fixed bug in :doc:`bugprone-reserved-identifier |
131 <clang-tidy/checks/bugprone/assignment-in-if-condition>` check when there | 173 <clang-tidy/checks/bugprone/reserved-identifier>`, so that it does not warn |
132 was an assignement in a lambda found in the condition of an ``if``. | 174 on macros starting with underscore and lowercase letter. |
133 | 175 |
134 - Improved :doc:`bugprone-signal-handler | 176 - Improved :doc:`cppcoreguidelines-avoid-non-const-global-variables |
135 <clang-tidy/checks/bugprone/signal-handler>` check. Partial | 177 <clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables>` check |
136 support for C++14 signal handler rules was added. Bug report generation was | 178 to ignore ``static`` variables declared within the scope of |
137 improved. | 179 ``class``/``struct``. |
138 | 180 |
139 - Fixed a false positive in :doc:`cppcoreguidelines-pro-type-member-init | 181 - Improved :doc:`cppcoreguidelines-prefer-member-initializer |
140 <clang-tidy/checks/cppcoreguidelines/pro-type-member-init>` when warnings | 182 <clang-tidy/checks/cppcoreguidelines/prefer-member-initializer>` check to |
141 would be emitted for uninitialized members of an anonymous union despite | 183 ignore delegate constructors. |
142 there being an initializer for one of the other members. | 184 |
143 | 185 - Improved :doc:`cppcoreguidelines-pro-type-member-init |
144 - Improved :doc:`modernize-use-emplace <clang-tidy/checks/modernize/use-emplace>` | 186 <clang-tidy/checks/cppcoreguidelines/pro-type-member-init>` check to ignore |
145 check. | 187 dependent delegate constructors. |
146 | 188 |
147 The check now supports detecting inefficient invocations of ``push`` and | 189 - Improved :doc:`cppcoreguidelines-pro-type-vararg |
148 ``push_front`` on STL-style containers and replacing them with ``emplace`` | 190 <clang-tidy/checks/cppcoreguidelines/pro-type-vararg>` check to ignore |
149 or ``emplace_front``. | 191 false-positives in unevaluated context (e.g., ``decltype``, ``sizeof``, ...). |
150 | 192 |
151 The check now supports detecting alias cases of ``push_back`` ``push`` and | 193 - Improved :doc:`llvm-namespace-comment |
152 ``push_front`` on STL-style containers and replacing them with ``emplace_back``, | 194 <clang-tidy/checks/llvm/namespace-comment>` check to provide fixes for |
153 ``emplace`` or ``emplace_front``. | 195 ``inline`` namespaces in the same format as :program:`clang-format`. |
154 | 196 |
155 - Improved :doc:`modernize-use-equals-default <clang-tidy/checks/modernize/use-equals-default>` | 197 - Improved :doc:`misc-include-cleaner |
156 check. | 198 <clang-tidy/checks/misc/include-cleaner>` check by adding option |
157 | 199 `DeduplicateFindings` to output one finding per symbol occurence. |
158 The check now skips unions/union-like classes since in this case a default constructor | 200 |
159 with empty body is not equivalent to the explicitly defaulted one, variadic constructors | 201 - Improved :doc:`modernize-loop-convert |
160 since they cannot be explicitly defaulted. The check also skips copy assignment operators | 202 <clang-tidy/checks/modernize/loop-convert>` to support for-loops with |
161 with nonstandard return types, template constructors, private/protected default constructors | 203 iterators initialized by free functions like ``begin``, ``end``, or ``size``. |
162 for C++17 or earlier. The automatic fixit has been adjusted to avoid adding superfluous | 204 |
163 semicolon. The check is restricted to C++11 or later. | 205 - Improved :doc:`performance-faster-string-find |
164 | 206 <clang-tidy/checks/performance/faster-string-find>` check to properly escape |
165 - Change the default behavior of :doc:`readability-avoid-const-params-in-decls | 207 single quotes. |
166 <clang-tidy/checks/readability/avoid-const-params-in-decls>` to not | 208 |
167 warn about `const` value parameters of declarations inside macros. | 209 - Improved :doc:`performanc-noexcept-swap |
168 | 210 <clang-tidy/checks/performance/noexcept-swap>` check to enforce a stricter |
169 - Fixed crashes in :doc:`readability-braces-around-statements | 211 match with the swap function signature, eliminating false-positives. |
170 <clang-tidy/checks/readability/braces-around-statements>` and | 212 |
171 :doc:`readability-simplify-boolean-expr <clang-tidy/checks/readability/simplify-boolean-expr>` | 213 - Improved :doc:`readability-identifier-naming |
172 when using a C++23 ``if consteval`` statement. | 214 <clang-tidy/checks/readability/identifier-naming>` check to emit proper |
173 | 215 warnings when a type forward declaration precedes its definition. |
174 - Improved :doc:`misc-redundant-expression <clang-tidy/checks/misc/redundant-expression>` | 216 |
175 check. | 217 - Improved :doc:`readability-implicit-bool-conversion |
176 | 218 <clang-tidy/checks/readability/implicit-bool-conversion>` check to take |
177 The check now skips concept definitions since redundant expressions still make sense | 219 do-while loops into account for the `AllowIntegerConditions` and |
178 inside them. | 220 `AllowPointerConditions` options. |
179 | 221 |
180 Removed checks | 222 Removed checks |
181 ^^^^^^^^^^^^^^ | 223 ^^^^^^^^^^^^^^ |
182 | 224 |
183 Improvements to include-fixer | 225 Improvements to include-fixer |