Finalize Swift debug info before running Clang codegen, because it may delete

the llvm module.

rdar://128309024
This commit is contained in:
Adrian Prantl
2024-06-12 09:46:35 -07:00
parent 5dbf31a5d3
commit bba8b921ab
3 changed files with 12 additions and 24 deletions

View File

@@ -1963,12 +1963,14 @@ bool IRGenModule::finalize() {
}
emitLazyPrivateDefinitions();
// Finalize clang IR-generation.
finalizeClangCodeGen();
// Finalize Swift debug info before running Clang codegen, because it may
// delete the llvm module.
if (DebugInfo)
DebugInfo->finalize();
// Finalize clang IR-generation.
finalizeClangCodeGen();
// If that failed, report failure up and skip the final clean-up.
if (!ClangCodeGen->GetModule())
return false;