@@ -107,6 +107,11 @@ What's New in Clang |release|?
107107C++ Language Changes
108108--------------------
109109
110+ - A new family of builtins ``__builtin_*_synthesises_from_spaceship `` has been added. These can be queried to know
111+ whether the ``< `` (``lt ``), ``> `` (``gt ``), ``<= `` (``le ``), or ``>= `` (``ge ``) operators are synthesised from a
112+ ``<=> ``. This makes it possible to optimize certain facilities by using the ``<=> `` operation directly instead of
113+ doing multiple comparisons.
114+
110115C++2c Feature Support
111116^^^^^^^^^^^^^^^^^^^^^
112117
@@ -487,7 +492,7 @@ Improvements to Clang's diagnostics
487492 "format specifies type 'unsigned int' but the argument has type 'int', which differs in signedness [-Wformat-signedness]"
488493 "signedness of format specifier 'u' is incompatible with 'c' [-Wformat-signedness]"
489494 and the API-visible diagnostic id will be appropriate.
490-
495+
491496- Fixed false positives in ``-Waddress-of-packed-member `` diagnostics when
492497 potential misaligned members get processed before they can get discarded.
493498 (#GH144729)
@@ -511,6 +516,10 @@ Improvements to Clang's diagnostics
511516 decorated with the ``alloc_size `` attribute don't allocate enough space for
512517 the target pointer type.
513518
519+ - The :doc: `ThreadSafetyAnalysis ` attributes ``ACQUIRED_BEFORE(...) `` and
520+ ``ACQUIRED_AFTER(...) `` have been moved to the stable feature set and no
521+ longer require ``-Wthread-safety-beta `` to be used.
522+
514523Improvements to Clang's time-trace
515524----------------------------------
516525
@@ -521,7 +530,7 @@ Bug Fixes in This Version
521530-------------------------
522531- Fix a crash when marco name is empty in ``#pragma push_macro("") `` or
523532 ``#pragma pop_macro("") ``. (#GH149762).
524- - Fix a crash in variable length array (e.g. ``int a[*] ``) function parameter type
533+ - Fix a crash in variable length array (e.g. ``int a[*] ``) function parameter type
525534 being used in ``_Countof `` expression. (#GH152826).
526535- ``-Wunreachable-code `` now diagnoses tautological or contradictory
527536 comparisons such as ``x != 0 || x != 1.0 `` and ``x == 0 && x == 1.0 `` on
@@ -612,7 +621,7 @@ X86 Support
612621 arithmetic can now be used in C++ constant expressions.
613622- Some SSE, AVX and AVX512 intrinsics have been converted to wrap
614623 generic __builtin intrinsics.
615- - NOTE: Please avoid use of the __builtin_ia32_* intrinsics - these are not
624+ - NOTE: Please avoid use of the __builtin_ia32_* intrinsics - these are not
616625 guaranteed to exist in future releases, or match behaviour with previous
617626 releases of clang or other compilers.
618627
0 commit comments