@@ -36,7 +36,7 @@ Potentially Breaking Changes
3636
3737- The Objective-C ARC migrator (ARCMigrate) has been removed.
3838- Fix missing diagnostics for uses of declarations when performing typename access,
39- such as when performing member access on a ' [[deprecated]]' type alias.
39+ such as when performing member access on a `` [[deprecated]] `` type alias.
4040 (#GH58547)
4141- For ARM targets when compiling assembly files, the features included in the selected CPU
4242 or Architecture's FPU are included. If you wish not to use a specific feature,
@@ -133,8 +133,6 @@ C++2c Feature Support
133133
134134- Implemented `P0963R3 Structured binding declaration as a condition <https://wg21.link/P0963R3 >`_.
135135
136- - Implemented `P2719R4 Type-aware allocation and deallocation functions <https://wg21.link/P2719 >`_.
137-
138136- Implemented `P3618R0 Allow attaching main to the global module <https://wg21.link/P3618 >`_.
139137
140138C++23 Feature Support
@@ -676,7 +674,7 @@ Improvements to Clang's diagnostics
676674 #GH142457, #GH139913, #GH138850, #GH137867, #GH137860, #GH107840, #GH93308,
677675 #GH69470, #GH59391, #GH58172, #GH46215, #GH45915, #GH45891, #GH44490,
678676 #GH36703, #GH32903, #GH23312, #GH69874.
679-
677+
680678- Clang no longer emits a spurious -Wdangling-gsl warning in C++23 when
681679 iterating over an element of a temporary container in a range-based
682680 for loop.(#GH109793, #GH145164)
@@ -707,6 +705,11 @@ Improvements to Clang's diagnostics
707705- Improve the diagnostics for placement new expression when const-qualified
708706 object was passed as the storage argument. (#GH143708)
709707
708+ - Clang now does not issue a warning about returning from a function declared with
709+ the ``[[noreturn]] `` attribute when the function body is ended with a call via
710+ pointer, provided it can be proven that the pointer only points to
711+ ``[[noreturn]] `` functions.
712+
710713Improvements to Clang's time-trace
711714----------------------------------
712715
@@ -797,6 +800,8 @@ Bug Fixes in This Version
797800 declaration statements. Clang now emits a warning for these patterns. (#GH141659)
798801- Fixed false positives for redeclaration errors of using enum in
799802 nested scopes. (#GH147495)
803+ - Fixed a failed assertion with an operator call expression which comes from a
804+ macro expansion when performing analysis for nullability attributes. (#GH138371)
800805
801806Bug Fixes to Compiler Builtins
802807^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -950,6 +955,7 @@ Bug Fixes to C++ Support
950955- Fix a bug where private access specifier of overloaded function not respected. (#GH107629)
951956- Correctly handles calling an explicit object member function template overload set
952957 through its address (``(&Foo::bar<baz>)() ``).
958+ - Fix a crash when using an explicit object parameter in a non-member function. (#GH113185)
953959- Fix a crash when forming an invalid call to an operator with an explicit object member. (#GH147121)
954960- Correctly handle allocations in the condition of a ``if constexpr ``.(#GH120197) (#GH134820)
955961- Fixed a crash when handling invalid member using-declaration in C++20+ mode. (#GH63254)
@@ -963,6 +969,8 @@ Bug Fixes to C++ Support
963969- Fix a crash with NTTP when instantiating local class.
964970- Fixed a crash involving list-initialization of an empty class with a
965971 non-empty initializer list. (#GH147949)
972+ - Fixed constant evaluation of equality comparisons of constexpr-unknown references. (#GH147663)
973+ - Diagnose binding a reference to ``*nullptr `` during constant evaluation. (#GH48665)
966974
967975Bug Fixes to AST Handling
968976^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1024,15 +1032,29 @@ Arm and AArch64 Support
10241032 `as specified here <https://github.com/ARM-software/acle/blob/main/main/acle.md#modal-8-bit-floating-point-extensions >`_
10251033 is now available.
10261034- Support has been added for the following processors (command-line identifiers in parentheses):
1035+
10271036 - Arm Cortex-A320 (``cortex-a320 ``)
1037+
10281038- For ARM targets, cc1as now considers the FPU's features for the selected CPU or Architecture.
10291039- The ``+nosimd `` attribute is now fully supported for ARM. Previously, this had no effect when being used with
10301040 ARM targets, however this will now disable NEON instructions being generated. The ``simd `` option is
10311041 also now printed when the ``--print-supported-extensions `` option is used.
10321042- When a feature that depends on NEON (``simd ``) is used, NEON is now automatically enabled.
10331043- When NEON is disabled (``+nosimd ``), all features that depend on NEON will now be disabled.
10341044
1035- - Support for __ptrauth type qualifier has been added.
1045+ - Pointer authentication
1046+
1047+ - Support for __ptrauth type qualifier has been added.
1048+ - Objective-C adoption of pointer authentication
1049+
1050+ - ``isa `` and ``super `` pointers are protected with address diversity and separate
1051+ usage specific discriminators.
1052+ - methodlist pointers and content are protected with address diversity and methodlist
1053+ pointers have a usage specific discriminator.
1054+ - ``class_ro_t `` pointers are protected with address diversity and usage specific
1055+ discriminators.
1056+ - ``SEL `` typed ivars are protected with address diversity and usage specific
1057+ discriminators.
10361058
10371059- For AArch64, added support for generating executable-only code sections by using the
10381060 ``-mexecute-only `` or ``-mpure-code `` compiler flags. (#GH125688)
@@ -1125,6 +1147,8 @@ Fixed Point Support in Clang
11251147AST Matchers
11261148------------
11271149
1150+ - Ensure ``hasBitWidth `` doesn't crash on bit widths that are dependent on template
1151+ parameters.
11281152- Ensure ``isDerivedFrom `` matches the correct base in case more than one alias exists.
11291153- Extend ``templateArgumentCountIs `` to support function and variable template
11301154 specialization.
@@ -1196,6 +1220,9 @@ New features
11961220 so frequent 'not yet implemented' diagnostics should be expected. Also, the
11971221 ACC MLIR dialect does not currently implement any lowering to LLVM-IR, so no
11981222 code generation is possible for OpenACC.
1223+ - Implemented `P2719R5 Type-aware allocation and deallocation functions <https://wg21.link/P2719 >`_
1224+ as an extension in all C++ language modes.
1225+
11991226
12001227Crash and bug fixes
12011228^^^^^^^^^^^^^^^^^^^
0 commit comments