Fznamznon wrote:

Thank you for the digging @zmodem !

> The linked bug does say "reverting it locally fixed the testing failures" 
> which is a pretty strong indication.

I wanted to make sure there is no bugs in the test as well.

> Now, in some other translation unit (not sure which yet), we decide that we 
> need the actual vector deleting destructor, and emit the definition for it.

There are two cases when vector deleting destructor body is emitted:

- It is exported via __declspec(dllexport)
- new[] is called for the type.

If the test was using __declspec(dllexport) on the destructor or class, we 
should never see the alias to scalar deleting destructor, so I think this is 
not the case.

Some translation unit used new[] where destructor is only declared, but before 
this patch we were only emitting scalar deleting destructor for the class 
overall, which is also a bug, since a pointer produced by new[] should be 
deleted via delete[] which in absence of vector deleting destructor body would 
be problematic. So I would really like to see the reproducer still.

Otherwise it sounds like there is no support for weak symbols in 
llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp ?

https://github.com/llvm/llvm-project/pull/185653
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to