diff options
author | Hans Wennborg <hans@chromium.org> | 2025-03-12 16:18:07 +0100 |
---|---|---|
committer | Hans Wennborg <hans@chromium.org> | 2025-03-12 16:26:00 +0100 |
commit | e11ede5e90ee193dde179fe1a9ac9af718ede3db (patch) | |
tree | d719a4919d44cc8f4a5665a199a96bf98863b711 /clang/lib/CodeGen/CGVTables.cpp | |
parent | 90a8322399c7beb021cfe704003d36fafb1a7d29 (diff) | |
download | llvm-e11ede5e90ee193dde179fe1a9ac9af718ede3db.zip llvm-e11ede5e90ee193dde179fe1a9ac9af718ede3db.tar.gz llvm-e11ede5e90ee193dde179fe1a9ac9af718ede3db.tar.bz2 |
Revert "[MS][clang] Add support for vector deleting destructors (#126240)"
This caused link errors when building with sancov. See comment on the PR.
> Whereas it is UB in terms of the standard to delete an array of objects
> via pointer whose static type doesn't match its dynamic type, MSVC
> supports an extension allowing to do it.
> Aside from array deletion not working correctly in the mentioned case,
> currently not having this extension implemented causes clang to generate
> code that is not compatible with the code generated by MSVC, because
> clang always puts scalar deleting destructor to the vftable. This PR
> aims to resolve these problems.
>
> Fixes https://github.com/llvm/llvm-project/issues/19772
This reverts commit d6942d54f677000cf713d2b0eba57b641452beb4.
Diffstat (limited to 'clang/lib/CodeGen/CGVTables.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGVTables.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp index 66d75ef..c910893 100644 --- a/clang/lib/CodeGen/CGVTables.cpp +++ b/clang/lib/CodeGen/CGVTables.cpp @@ -769,8 +769,7 @@ void CodeGenVTables::addVTableComponent(ConstantArrayBuilder &builder, case VTableComponent::CK_FunctionPointer: case VTableComponent::CK_CompleteDtorPointer: case VTableComponent::CK_DeletingDtorPointer: { - GlobalDecl GD = - component.getGlobalDecl(CGM.getCXXABI().hasVectorDeletingDtors()); + GlobalDecl GD = component.getGlobalDecl(); const bool IsThunk = nextVTableThunkIndex < layout.vtable_thunks().size() && |