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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to