@@ -79,7 +79,7 @@ C++20 Feature Support
79
79
more to ease the implementation and improve the user's using experience.
80
80
This follows the MSVC's behavior. Users interested in testing the more strict
81
81
behavior can use the flag '-Xclang -fno-skip-odr-check-in-gmf'.
82
- (` #79240 < https://github.com/llvm/llvm-project/issues/79240 >`_ ).
82
+ (#GH79240 ).
83
83
84
84
- Implemented the `__is_layout_compatible ` intrinsic to support
85
85
`P0466R5: Layout-compatibility and Pointer-interconvertibility Traits <https://wg21.link/P0466R5 >`_.
@@ -116,7 +116,7 @@ C Language Changes
116
116
C23 Feature Support
117
117
^^^^^^^^^^^^^^^^^^^
118
118
- No longer diagnose use of binary literals as an extension in C23 mode. Fixes
119
- ` #72017 < https://github.com/llvm/llvm-project/issues/72017 >`_ .
119
+ #GH72017 .
120
120
121
121
- Corrected parsing behavior for the ``alignas `` specifier/qualifier in C23. We
122
122
previously handled it as an attribute as in C++, but there are parsing
@@ -129,7 +129,7 @@ C23 Feature Support
129
129
};
130
130
int i alignas(8) /* was accepted, now rejected */ ;
131
131
132
- Fixes (` #81472 < https://github.com/llvm/llvm-project/issues/81472 >`_ ).
132
+ Fixes (#GH81472 ).
133
133
134
134
- Clang now generates predefined macros of the form ``__TYPE_FMTB__ `` and
135
135
``__TYPE_FMTb__ `` (e.g., ``__UINT_FAST64_FMTB__ ``) in C23 mode for use with
@@ -173,7 +173,7 @@ Improvements to Clang's diagnostics
173
173
name specifiers.
174
174
175
175
- The ``-Wshorten-64-to-32 `` diagnostic is now grouped under ``-Wimplicit-int-conversion `` instead
176
- of ``-Wconversion ``. Fixes ` #69444 < https://github.com/llvm/llvm-project/issues/69444 >`_ .
176
+ of ``-Wconversion ``. Fixes #GH69444 .
177
177
178
178
- Clang now diagnoses friend declarations with an ``enum `` elaborated-type-specifier in language modes after C++98.
179
179
@@ -186,14 +186,14 @@ Improvements to Clang's diagnostics
186
186
``unsigned long long ``, but this behavior may change in the future when Clang
187
187
implements
188
188
`WG14 N3029 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3029.htm >`_.
189
- Fixes ` #69352 < https://github.com/llvm/llvm-project/issues/69352 >`_ .
189
+ (#GH69352) .
190
190
191
191
- Clang now diagnoses extraneous template parameter lists as a language extension.
192
192
193
193
- Clang now diagnoses declarative nested name specifiers that name alias templates.
194
194
195
195
- Clang now diagnoses lambda function expressions being implicitly cast to boolean values, under ``-Wpointer-bool-conversion ``.
196
- Fixes ` #82512 < https://github.com/llvm/llvm-project/issues/82512 >`_ .
196
+ Fixes #GH82512 .
197
197
198
198
Improvements to Clang's time-trace
199
199
----------------------------------
@@ -206,21 +206,21 @@ Bug Fixes in This Version
206
206
- Clang now accepts elaborated-type-specifiers that explicitly specialize
207
207
a member class template for an implicit instantiation of a class template.
208
208
209
- - Fixed missing warnings when doing bool-like conversions in C23 (` #79435 < https://github.com/llvm/llvm-project/issues/79435 >`_ ).
209
+ - Fixed missing warnings when doing bool-like conversions in C23 (#GH79435 ).
210
210
- Clang's ``-Wshadow `` no longer warns when an init-capture is named the same as
211
211
a class field unless the lambda can capture this.
212
- Fixes (` #71976 < https://github.com/llvm/llvm-project/issues/71976 >`_ )
212
+ Fixes (#GH71976 )
213
213
214
214
- Clang now accepts qualified partial/explicit specializations of variable templates that
215
215
are not nominable in the lookup context of the specialization.
216
216
217
217
- Clang now doesn't produce false-positive warning `-Wconstant-logical-operand `
218
218
for logical operators in C23.
219
- Fixes (` #64356 < https://github.com/llvm/llvm-project/issues/64356 >`_ ).
219
+ Fixes (#GH64356 ).
220
220
221
221
- Clang no longer produces a false-positive `-Wunused-variable ` warning
222
222
for variables created through copy initialization having side-effects in C++17 and later.
223
- Fixes (` #79518 < https://github.com/llvm/llvm-project/issues/79518 >`_ ).
223
+ Fixes (#GH64356) (#GH79518 ).
224
224
225
225
Bug Fixes to Compiler Builtins
226
226
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -232,84 +232,67 @@ Bug Fixes to C++ Support
232
232
^^^^^^^^^^^^^^^^^^^^^^^^
233
233
234
234
- Fix crash when calling the constructor of an invalid class.
235
- Fixes (`#10518 <https://github.com/llvm/llvm-project/issues/10518 >`_),
236
- (`#67914 <https://github.com/llvm/llvm-project/issues/10518 >`_),
237
- and (`#78388 <https://github.com/llvm/llvm-project/issues/78388 >`_)
235
+ (#GH10518) (#GH67914) (#GH78388)
238
236
- Fix crash when using lifetimebound attribute in function with trailing return.
239
- Fixes (` #73619 < https://github.com/llvm/llvm-project/issues/73619 >`_ )
237
+ (#GH73619 )
240
238
- Addressed an issue where constraints involving injected class types are perceived
241
- distinct from its specialization types.
242
- (`#56482 <https://github.com/llvm/llvm-project/issues/56482 >`_)
239
+ distinct from its specialization types. (#GH56482)
243
240
- Fixed a bug where variables referenced by requires-clauses inside
244
- nested generic lambdas were not properly injected into the constraint scope.
245
- (`#73418 <https://github.com/llvm/llvm-project/issues/73418 >`_)
241
+ nested generic lambdas were not properly injected into the constraint scope. (#GH73418)
246
242
- Fixed a crash where substituting into a requires-expression that refers to function
247
243
parameters during the equivalence determination of two constraint expressions.
248
- (` #74447 < https://github.com/llvm/llvm-project/issues/74447 >`_ )
244
+ (#GH74447 )
249
245
- Fixed deducing auto& from const int in template parameters of partial
250
- specializations.
251
- (`#77189 <https://github.com/llvm/llvm-project/issues/77189 >`_)
246
+ specializations. (#GH77189)
252
247
- Fix for crash when using a erroneous type in a return statement.
253
- Fixes (`#63244 <https://github.com/llvm/llvm-project/issues/63244 >`_)
254
- and (`#79745 <https://github.com/llvm/llvm-project/issues/79745 >`_)
248
+ (#GH63244) (#GH79745)
255
249
- Fixed an out-of-bounds error caused by building a recovery expression for ill-formed
256
- function calls while substituting into constraints.
257
- (`#58548 <https://github.com/llvm/llvm-project/issues/58548 >`_)
258
- - Fix incorrect code generation caused by the object argument of ``static operator() `` and ``static operator[] `` calls not being evaluated.
259
- Fixes (`#67976 <https://github.com/llvm/llvm-project/issues/67976 >`_)
250
+ function calls while substituting into constraints. (#GH58548)
251
+ - Fix incorrect code generation caused by the object argument
252
+ of ``static operator() `` and ``static operator[] `` calls not being evaluated. (#GH67976)
260
253
- Fix crash and diagnostic with const qualified member operator new.
261
- Fixes (` #79748 < https://github.com/llvm/llvm-project/issues/79748 >`_ )
254
+ Fixes (#GH79748 )
262
255
- Fixed a crash where substituting into a requires-expression that involves parameter packs
263
- during the equivalence determination of two constraint expressions.
264
- (`#72557 <https://github.com/llvm/llvm-project/issues/72557 >`_)
256
+ during the equivalence determination of two constraint expressions. (#GH72557)
265
257
- Fix a crash when specializing an out-of-line member function with a default
266
258
parameter where we did an incorrect specialization of the initialization of
267
- the default parameter.
268
- Fixes (`#68490 <https://github.com/llvm/llvm-project/issues/68490 >`_)
259
+ the default parameter. (#GH68490)
269
260
- Fix a crash when trying to call a varargs function that also has an explicit object parameter.
270
- Fixes (` #80971 ICE when explicit object parameter be a function parameter pack ` )
271
- - Reject explicit object parameters on `new ` and `delete ` operators.
272
- Fixes (` #82249 <https://github.com/llvm/llvm-project/issues/82249> ` _ )
261
+ Fixes (#GH80971 )
262
+ - Reject explicit object parameters on `new ` and `delete ` operators. (#GH82249)
263
+ - Fix a crash when trying to call a varargs function that also has an explicit object parameter. (#GH80971 )
273
264
- Fixed a bug where abbreviated function templates would append their invented template parameters to
274
265
an empty template parameter lists.
275
266
- Clang now classifies aggregate initialization in C++17 and newer as constant
276
267
or non-constant more accurately. Previously, only a subset of the initializer
277
- elements were considered, misclassifying some initializers as constant. Fixes
278
- some of (`#80510 <https://github.com/llvm/llvm-project/issues/80510> `).
279
- - Clang now ignores top-level cv-qualifiers on function parameters in template partial orderings.
280
- (`#75404 <https://github.com/llvm/llvm-project/issues/75404 >`_)
268
+ elements were considered, misclassifying some initializers as constant. Partially fixes
269
+ #GH80510.
270
+ - Clang now ignores top-level cv-qualifiers on function parameters in template partial orderings. (#GH75404)
281
271
- No longer reject valid use of the ``_Alignas `` specifier when declaring a
282
272
local variable, which is supported as a C11 extension in C++. Previously, it
283
273
was only accepted at namespace scope but not at local function scope.
284
- - Clang no longer tries to call consteval constructors at runtime when they appear in a member initializer.
285
- (`#82154 <https://github.com/llvm/llvm-project/issues/82154>`_`)
286
- - Fix crash when using an immediate-escalated function at global scope.
287
- (`#82258 <https://github.com/llvm/llvm-project/issues/82258 >`_)
288
- - Correctly immediate-escalate lambda conversion functions.
289
- (`#82258 <https://github.com/llvm/llvm-project/issues/82258 >`_)
274
+ - Clang no longer tries to call consteval constructors at runtime when they appear in a member initializer. (#GH82154)
275
+ - Fix crash when using an immediate-escalated function at global scope. (#GH82258)
276
+ - Correctly immediate-escalate lambda conversion functions. (#GH82258)
290
277
- Fixed an issue where template parameters of a nested abbreviated generic lambda within
291
278
a requires-clause lie at the same depth as those of the surrounding lambda. This,
292
279
in turn, results in the wrong template argument substitution during constraint checking.
293
- (` #78524 < https://github.com/llvm/llvm-project/issues/78524 >`_ )
280
+ (#GH78524 )
294
281
- Clang no longer instantiates the exception specification of discarded candidate function
295
282
templates when determining the primary template of an explicit specialization.
296
283
- Fixed a crash in Microsoft compatibility mode where unqualified dependent base class
297
284
lookup searches the bases of an incomplete class.
298
285
- Fix a crash when an unresolved overload set is encountered on the RHS of a ``.* `` operator.
299
- (` #53815 < https://github.com/llvm/llvm-project/issues/53815 >`_ )
286
+ (#GH53815 )
300
287
- In ``__restrict ``-qualified member functions, attach ``__restrict `` to the pointer type of
301
288
``this `` rather than the pointee type.
302
- Fixes (`#82941 <https://github.com/llvm/llvm-project/issues/82941 >`_),
303
- (`#42411 <https://github.com/llvm/llvm-project/issues/42411 >`_), and
304
- (`#18121 <https://github.com/llvm/llvm-project/issues/18121 >`_).
289
+ Fixes (#GH82941), (#GH42411) and (#GH18121).
305
290
- Clang now properly reports supported C++11 attributes when using
306
- ``__has_cpp_attribute `` and parses attributes with arguments in C++03
307
- (`#82995 <https://github.com/llvm/llvm-project/issues/82995 >`_)
291
+ ``__has_cpp_attribute `` and parses attributes with arguments in C++03 (#GH82995)
308
292
- Clang now properly diagnoses missing 'default' template arguments on a variety
309
293
of templates. Previously we were diagnosing on any non-function template
310
294
instead of only on class, alias, and variable templates, as last updated by
311
- CWG2032.
312
- Fixes (`#83461 <https://github.com/llvm/llvm-project/issues/83461 >`_)
295
+ CWG2032. Fixes (#GH#83461)
313
296
314
297
315
298
Bug Fixes to AST Handling
0 commit comments