[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

Vassil Vassilev via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 19 23:53:19 PDT 2024


vgvassilev wrote:

> > > 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`
> > 
> > 
> > In that case for this test (or likely the entire interpreter library) we will have export that symbol with the linker. Something similar is done here: https://github.com/llvm/llvm-project/pull/84769/files#diff-d7f5dca2bd540f1b18ba90a66497b6b12e40fd07058b70f0fdec638c8e97406eR14-R71 as part of #84769. Unfortunately, this is the only reliable way as of today to export crt symbols to the JIT. cc: @lhames, @fsfod.
> 
> So should I wait for landing this PR or is there a workaround to fix this problem?

No, it'd be quite easy for somebody with a windows platform to export only this symbol as part of that test and if it works it'd be couple of lines of cmake. I am hoping @AaronBallman could give it a shot...

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


More information about the cfe-commits mailing list