vgvassilev 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.
> 
> The failure happens when executing 
> `llvm::cantFail(Interp->ParseAndExecute("S{}", &V3));` specifically. We parse 
> the code fine, but execution is what fails. `issueInitLookups()` in 
> `GenericLLVMIRPlatformSupport::getInitializers()` is where the failures start 
> from, but we get to `Platform::lookupInitSymbols()` and we eventually call 
> `failMaterialization()` in `RTDyldObjectLinkingLayer::onObjEmit()` when 
> trying to materialize `$.incr_module_33.__inits.0`.
> 
> I'm out of my depth on this, so I may need someone else to help figure this 
> out further.

Can you dump the produced `llvm::Module`s?

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