[clang] [MS][clang] Make sure vector deleting dtor calls correct operator delete (PR #133950)
Devon Loehr via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 11 09:49:19 PDT 2025
DKLoehr wrote:
Thanks! Unfortunately it looks like the fix introduced a regression of #134265 on Windows. Repro:
```
struct Base {
virtual ~Base();
void operator delete[](void *) = delete;
};
class __declspec(dllexport) Derived : Base {};
```
Running `clang-cl repro.cc /std:c++20` results in the following error after
```
repro.cc(5,29): error: attempt to use a deleted function
5 | class __declspec(dllexport) Derived : Base {};
| ^
repro.cc(5,29): note: in implicit destructor for 'Derived' first required here
repro.cc(5,18): note: due to 'Derived' being dllexported
5 | class __declspec(dllexport) Derived : Base {};
| ^
repro.cc(3,8): note: 'operator delete[]' has been explicitly marked deleted here
3 | void operator delete[](void *) = delete;
| ^
```
https://github.com/llvm/llvm-project/pull/133950
More information about the cfe-commits
mailing list