[clang] [win][clang] Align scalar deleting destructors with MSABI (PR #139566)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 12 08:19:10 PDT 2025


AaronBallman wrote:

> Thanks for review @efriedma-quic . I've been thinking though, that this change is kind of ABI breaking. Example: if library A was compiled with clang 20, library B compiled with clang 21 (or any release where this patch ends up, I don't really understand current llvm release model). class B is implemented in library A, so its destructor doesn't call operator ::delete, then an object of class B is deleted via ::delete in library B, so the callsite doesn't call ::delete because of this patch. So there will be no ::delete call at all. I do realize that is probably a corner case limited to windows, but still, should that go through breaking changes process? cc @AaronBallman

I think this is a case where we'd call out the breaking change in the release notes and if anyone needed the older ABI, we'd use ABI version tags for it at that point.

CC @llvm/clang-vendors for awareness for the potentially breaking changes.

https://github.com/llvm/llvm-project/pull/139566


More information about the cfe-commits mailing list