@@ -52,6 +52,23 @@ Potentially Breaking Changes
5252 ``--gcc-install-dir `` command line argument. This will silence the
5353 warning. It can also be disabled using the
5454 ``-Wno-gcc-install-dir-libstdcxx `` command line flag.
55+ - Scalar deleting destructor support has been aligned with MSVC when
56+ targeting the MSVC ABI. Clang previously implemented support for
57+ ``::delete `` by calling the complete object destructor and then the
58+ appropriate global delete operator (as is done for the Itanium ABI).
59+ The scalar deleting destructor is now called to destroy the object
60+ and deallocate its storage. This is an ABI change that can result in
61+ memory corruption when a program built for the MSVC ABI has
62+ portions compiled with clang 21 or earlier and portions compiled
63+ with a version of clang 22 (or MSVC). Consider a class ``X `` that
64+ declares a virtual destructor and an ``operator delete `` member
65+ with the destructor defined in library ``A `` and a call to `::delete`` in
66+ library ``B ``. If library ``A `` is compiled with clang 21 and library ``B ``
67+ is compiled with clang 22, the ``::delete `` call might dispatch to the
68+ scalar deleting destructor emitted in library ``A `` which will erroneously
69+ call the member ``operator delete `` instead of the expected global
70+ delete operator. The old behavior is retained under ``-fclang-abi-compat=21 ``
71+ flag.
5572
5673C/C++ Language Potentially Breaking Changes
5774-------------------------------------------
@@ -233,6 +250,9 @@ Removed Compiler Flags
233250
234251Attribute Changes in Clang
235252--------------------------
253+ - The definition of a function declaration with ``[[clang::cfi_unchecked_callee]] `` inherits this
254+ attribute, allowing the attribute to only be attached to the declaration. Prior, this would be
255+ treated as an error where the definition and declaration would have differing types.
236256
237257Improvements to Clang's diagnostics
238258-----------------------------------
@@ -330,6 +350,9 @@ Bug Fixes in This Version
330350 ``-Wshadow `` and show uncaptured-local warnings with ``-Wshadow-all ``. (#GH68605)
331351- Fixed a failed assertion with a negative limit parameter value inside of
332352 ``__has_embed ``. (#GH157842)
353+ - Fixed an assertion when an improper use of the ``malloc `` attribute targeting
354+ a function without arguments caused us to try to access a non-existent argument.
355+ (#GH159080)
333356
334357Bug Fixes to Compiler Builtins
335358^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -379,6 +402,8 @@ Bug Fixes to C++ Support
379402 the function type.
380403- Fix an assertion failure when a ``constexpr `` variable is only referenced through
381404 ``__builtin_addressof ``, and related issues with builtin arguments. (#GH154034)
405+ - Fix an assertion failure when taking the address on a non-type template parameter argument of
406+ object type. (#GH151531)
382407
383408Bug Fixes to AST Handling
384409^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -448,6 +473,8 @@ CUDA/HIP Language Changes
448473CUDA Support
449474^^^^^^^^^^^^
450475
476+ Support calling `consteval ` function between different target.
477+
451478AIX Support
452479^^^^^^^^^^^
453480
0 commit comments