AaronBallman wrote:

> > ; Function Attrs: nobuiltin allocsize(0)
> > declare dso_local noundef nonnull ptr @"??2@YAPEAX_K@Z"(i64 noundef %0) #6
> 
> That's probably the problem. We do not "see" the definition of the operator 
> delete. Is that "exported" on msvc?

That one demangles to `void * __ptr64 __cdecl operator new(unsigned __int64)`, 
so the problem is more likely to be with:

`declare dso_local void @"??3@YAXPEAX_K@Z"(ptr noundef %0, i64 noundef %1) #1`

because that demangles to `void __cdecl operator delete(void * __ptr64,unsigned 
__int64)`.

Not entirely certain what you're asking, but MSVC CRT does have a definition 
for sized delete:
```
_CRT_SECURITYCRITICAL_ATTRIBUTE
void __CRTDECL operator delete(void* const block, size_t const) noexcept
{
    operator delete(block);
}
```
in `crt\src\vcruntime\delete_scalar_size.cpp`

https://github.com/llvm/llvm-project/pull/83774
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to