diff options
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp b/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp index 419734771ccd..73801ea1dd1b 100644 --- a/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp @@ -39,7 +39,7 @@ static uint32_t calculateDiSymbolStreamSize(uint32_t SymbolByteSize, DbiModuleDescriptorBuilder::DbiModuleDescriptorBuilder(StringRef ModuleName, uint32_t ModIndex, msf::MSFBuilder &Msf) - : MSF(Msf), ModuleName(ModuleName) { + : MSF(Msf), ModuleName(std::string(ModuleName)) { ::memset(&Layout, 0, sizeof(Layout)); Layout.Mod = ModIndex; } @@ -51,7 +51,7 @@ uint16_t DbiModuleDescriptorBuilder::getStreamIndex() const { } void DbiModuleDescriptorBuilder::setObjFileName(StringRef Name) { - ObjFileName = Name; + ObjFileName = std::string(Name); } void DbiModuleDescriptorBuilder::setPdbFilePathNI(uint32_t NI) { @@ -83,14 +83,13 @@ void DbiModuleDescriptorBuilder::addSymbolsInBulk( } void DbiModuleDescriptorBuilder::addSourceFile(StringRef Path) { - SourceFiles.push_back(Path); + SourceFiles.push_back(std::string(Path)); } uint32_t DbiModuleDescriptorBuilder::calculateC13DebugInfoSize() const { uint32_t Result = 0; for (const auto &Builder : C13Builders) { - assert(Builder && "Empty C13 Fragment Builder!"); - Result += Builder->calculateSerializedLength(); + Result += Builder.calculateSerializedLength(); } return Result; } @@ -163,8 +162,7 @@ Error DbiModuleDescriptorBuilder::commit(BinaryStreamWriter &ModiWriter, "Invalid debug section alignment!"); // TODO: Write C11 Line data for (const auto &Builder : C13Builders) { - assert(Builder && "Empty C13 Fragment Builder!"); - if (auto EC = Builder->commit(SymbolWriter)) + if (auto EC = Builder.commit(SymbolWriter, CodeViewContainer::Pdb)) return EC; } @@ -180,12 +178,10 @@ Error DbiModuleDescriptorBuilder::commit(BinaryStreamWriter &ModiWriter, void DbiModuleDescriptorBuilder::addDebugSubsection( std::shared_ptr<DebugSubsection> Subsection) { assert(Subsection); - C13Builders.push_back(std::make_unique<DebugSubsectionRecordBuilder>( - std::move(Subsection), CodeViewContainer::Pdb)); + C13Builders.push_back(DebugSubsectionRecordBuilder(std::move(Subsection))); } void DbiModuleDescriptorBuilder::addDebugSubsection( const DebugSubsectionRecord &SubsectionContents) { - C13Builders.push_back(std::make_unique<DebugSubsectionRecordBuilder>( - SubsectionContents, CodeViewContainer::Pdb)); + C13Builders.push_back(DebugSubsectionRecordBuilder(SubsectionContents)); } |