[clang] [clang] Do not diagnose unused deleted operator delete[] (PR #134357)
Hans Wennborg via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 11 13:41:12 PDT 2025
zmodem wrote:
Smaller repro:
```
$ cat /tmp/a.ii
class Trans_NS_cppgc_GarbageCollected {
void operator delete[](void *);
};
struct ScriptWrappable : Trans_NS_cppgc_GarbageCollected {
virtual ~ScriptWrappable();
};
struct __declspec(dllexport) ContentIndexEvent : ScriptWrappable {
ContentIndexEvent();
~ContentIndexEvent();
};
ContentIndexEvent::ContentIndexEvent() : ScriptWrappable() {}
ContentIndexEvent::~ContentIndexEvent() = default;
$ build/bin/clang.bad -cc1 -triple x86_64-pc-windows-msvc -emit-obj -fms-extensions /tmp/a.ii
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: build/bin/clang.bad -cc1 -triple x86_64-pc-windows-msvc -emit-obj -fms-extensions /tmp/a.ii
1. <eof> parser at end of file
2. Per-file LLVM IR generation
3. /tmp/a.ii:11:3: Generating code for declaration 'ContentIndexEvent::~ContentIndexEvent'
#0 0x00005601e55972eb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build/bin/clang.bad+0x47392eb)
#1 0x00005601e55943d6 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x00007f98c8c49e20 (/lib/x86_64-linux-gnu/libc.so.6+0x3fe20)
#3 0x00005601e591fd10 clang::CodeGen::CodeGenFunction::EmitDeleteCall(clang::FunctionDecl const*, llvm::Value*, clang::QualType, llvm::Value*, clang::CharUnits) (build/bin/clang.bad+0x4ac1d10)
#4 0x00005601e5e84429 clang::CodeGen::CodeGenFunction::EmitDestructorBody(clang::CodeGen::FunctionArgList&) (build/bin/clang.bad+0x5026429)
#5 0x00005601e5b09965 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (build/bin/clang.bad+0x4cab965)
#6 0x00005601e5e33584 clang::CodeGen::CodeGenModule::codegenCXXStructor(clang::GlobalDecl) (build/bin/clang.bad+0x4fd5584)
#7 0x00005601e5bf86dc (anonymous namespace)::MicrosoftCXXABI::emitCXXStructor(clang::GlobalDecl) MicrosoftCXXABI.cpp:0:0
#8 0x00005601e5b61d5a clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (build/bin/clang.bad+0x4d03d5a)
#9 0x00005601e5b6e552 clang::CodeGen::CodeGenModule::EmitDeferred() (build/bin/clang.bad+0x4d10552)
#10 0x00005601e5b6f453 clang::CodeGen::CodeGenModule::Release() (build/bin/clang.bad+0x4d11453)
#11 0x00005601e5f5e87e (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) ModuleBuilder.cpp:0:0
#12 0x00005601e5f5994d clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (build/bin/clang.bad+0x50fb94d)
#13 0x00005601e7a88ddc clang::ParseAST(clang::Sema&, bool, bool) (build/bin/clang.bad+0x6c2addc)
#14 0x00005601e62948b3 clang::FrontendAction::Execute() (build/bin/clang.bad+0x54368b3)
#15 0x00005601e621395e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (build/bin/clang.bad+0x53b595e)
#16 0x00005601e637be07 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (build/bin/clang.bad+0x551de07)
#17 0x00005601e21737ef cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (build/bin/clang.bad+0x13157ef)
#18 0x00005601e2169b40 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#19 0x00005601e216d360 clang_main(int, char**, llvm::ToolContext const&) (build/bin/clang.bad+0x130f360)
#20 0x00005601e20123b3 main (build/bin/clang.bad+0x11b43b3)
#21 0x00007f98c8c33d68 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#22 0x00007f98c8c33e25 call_init ./csu/../csu/libc-start.c:128:20
#23 0x00007f98c8c33e25 __libc_start_main ./csu/../csu/libc-start.c:347:5
#24 0x00005601e2169171 _start (build/bin/clang.bad+0x130b171)
Segmentation fault (core dumped)
```
https://github.com/llvm/llvm-project/pull/134357
More information about the cfe-commits
mailing list