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

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 19 10:00:10 PDT 2024


AaronBallman wrote:

> > > > > There is a Windows failure that I can't reproduce: https://buildkite.com/llvm-project/github-pull-requests/builds/46331 Can someone help me to figure out what is wrong?
> > > > 
> > > > 
> > > > I'm not certain what's going on yet, but it smells a bit like the interpreter needs to know about sized deallocations now being on by default (this may be exposing an existing bug rather than introducing a new one).
> > > > CC @vgvassilev
> > > 
> > > 
> > > I am shooting in the dark here, too. Can you forward declare the new operator delete here:
> > > https://github.com/llvm/llvm-project/blob/e2e3624fae669f85de1445bf7037ff29feb30905/clang/lib/Interpreter/Interpreter.cpp#L262
> > 
> > 
> > It's still failing. :-(
> 
> I do not have a platform where I can debug this failure. For some reason codegen does not emit the symbol for the operator delete. In the context of #84758, @weliveindetail and @hahnjo were discussing maybe a related issue.

One failure is happening on:
```
  Value V3;
  llvm::cantFail(Interp->ParseAndExecute(
      "struct S { int* p; S() { p = new int(42); } ~S() { delete p; }};"));
  llvm::cantFail(Interp->ParseAndExecute("S{}", &V3));
```
in InterpreterTest.cpp. I'm investigating to see if I can spot what's going wrong because I can reproduce on Windows.

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


More information about the cfe-commits mailing list