Skip to content

Commit 9493c05

Browse files
committed
Add release note for the breaking change.
1 parent 2c51545 commit 9493c05

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ Potentially Breaking Changes
4646
``endbr64`` instruction at the labels named as possible branch
4747
destinations, so it is not safe to use a register-controlled branch
4848
instruction to branch to one. (In line with gcc.)
49+
- Scalar deleting destructors emitted by clang have been aligned with Microsoft
50+
ABI on Windows. Prior to this patch, clang handled ``::delete`` via calling
51+
global operator delete direct after the destructor call and not calling class
52+
operator delete in scalar deleting destructor body by passing "0" as implicit
53+
flag argument value. After this change if library A was compiled with
54+
clang 20, library B compiled with clang 21. class B is implemented in
55+
library A, so its destructor doesn't call operator ``::delete``, then an
56+
object of class B is deleted via ``::delete`` in library B, so the callsite
57+
doesn't call ``::delete`` because of this patch.
58+
So there will be no ``::delete`` call at all.
4959

5060
C/C++ Language Potentially Breaking Changes
5161
-------------------------------------------

0 commit comments

Comments
 (0)