@@ -109,6 +109,11 @@ What's New in Clang |release|?
109109C++ Language Changes
110110--------------------
111111
112+ - A new family of builtins ``__builtin_*_synthesises_from_spaceship `` has been added. These can be queried to know
113+ whether the ``< `` (``lt ``), ``> `` (``gt ``), ``<= `` (``le ``), or ``>= `` (``ge ``) operators are synthesised from a
114+ ``<=> ``. This makes it possible to optimize certain facilities by using the ``<=> `` operation directly instead of
115+ doing multiple comparisons.
116+
112117C++2c Feature Support
113118^^^^^^^^^^^^^^^^^^^^^
114119
@@ -241,11 +246,13 @@ Improvements to Clang's diagnostics
241246 "format specifies type 'unsigned int' but the argument has type 'int', which differs in signedness [-Wformat-signedness]"
242247 "signedness of format specifier 'u' is incompatible with 'c' [-Wformat-signedness]"
243248 and the API-visible diagnostic id will be appropriate.
244-
249+
245250- Fixed false positives in ``-Waddress-of-packed-member `` diagnostics when
246251 potential misaligned members get processed before they can get discarded.
247252 (#GH144729)
248253
254+ - Clang now emits dignostic with correct message in case of assigning to const reference captured in lambda. (#GH105647)
255+
249256- Fixed false positive in ``-Wmissing-noreturn `` diagnostic when it was requiring the usage of
250257 ``[[noreturn]] `` on lambdas before C++23 (#GH154493).
251258
@@ -263,6 +270,10 @@ Improvements to Clang's diagnostics
263270 decorated with the ``alloc_size `` attribute don't allocate enough space for
264271 the target pointer type.
265272
273+ - The :doc: `ThreadSafetyAnalysis ` attributes ``ACQUIRED_BEFORE(...) `` and
274+ ``ACQUIRED_AFTER(...) `` have been moved to the stable feature set and no
275+ longer require ``-Wthread-safety-beta `` to be used.
276+
266277Improvements to Clang's time-trace
267278----------------------------------
268279
@@ -273,7 +284,7 @@ Bug Fixes in This Version
273284-------------------------
274285- Fix a crash when marco name is empty in ``#pragma push_macro("") `` or
275286 ``#pragma pop_macro("") ``. (#GH149762).
276- - Fix a crash in variable length array (e.g. ``int a[*] ``) function parameter type
287+ - Fix a crash in variable length array (e.g. ``int a[*] ``) function parameter type
277288 being used in ``_Countof `` expression. (#GH152826).
278289- ``-Wunreachable-code `` now diagnoses tautological or contradictory
279290 comparisons such as ``x != 0 || x != 1.0 `` and ``x == 0 && x == 1.0 `` on
@@ -358,7 +369,7 @@ X86 Support
358369 arithmetic can now be used in C++ constant expressions.
359370- Some SSE, AVX and AVX512 intrinsics have been converted to wrap
360371 generic __builtin intrinsics.
361- - NOTE: Please avoid use of the __builtin_ia32_* intrinsics - these are not
372+ - NOTE: Please avoid use of the __builtin_ia32_* intrinsics - these are not
362373 guaranteed to exist in future releases, or match behaviour with previous
363374 releases of clang or other compilers.
364375
0 commit comments