diff --git a/llvm/lib/Object/ModuleSymbolTable.cpp b/llvm/lib/Object/ModuleSymbolTable.cpp index 9cdc2813f42740..9a79de77af16db 100644 --- a/llvm/lib/Object/ModuleSymbolTable.cpp +++ b/llvm/lib/Object/ModuleSymbolTable.cpp @@ -99,7 +99,11 @@ initializeRecordStreamer(const Module &M, if (!MCII) return; - MCContext MCCtx(TT, MAI.get(), MRI.get(), STI.get()); + std::unique_ptr Buffer(MemoryBuffer::getMemBuffer(InlineAsm)); + SourceMgr SrcMgr; + SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc()); + + MCContext MCCtx(TT, MAI.get(), MRI.get(), STI.get(), &SrcMgr); std::unique_ptr MOFI( T->createMCObjectFileInfo(MCCtx, /*PIC=*/false)); MOFI->setSDKVersion(M.getSDKVersion()); @@ -107,9 +111,6 @@ initializeRecordStreamer(const Module &M, RecordStreamer Streamer(MCCtx, M); T->createNullTargetStreamer(Streamer); - std::unique_ptr Buffer(MemoryBuffer::getMemBuffer(InlineAsm)); - SourceMgr SrcMgr; - SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc()); std::unique_ptr Parser( createMCAsmParser(SrcMgr, MCCtx, Streamer, *MAI));