[llvm] 1558bb8 - [Object] make SourceMgr available to MCContext during inline asm symbols

Yuanfang Chen via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 25 21:23:43 PDT 2021


Author: Yuanfang Chen
Date: 2021-07-25T21:23:03-07:00
New Revision: 1558bb80c01b695ce12642527cbfccf16cf54ece

URL: https://github.com/llvm/llvm-project/commit/1558bb80c01b695ce12642527cbfccf16cf54ece
DIFF: https://github.com/llvm/llvm-project/commit/1558bb80c01b695ce12642527cbfccf16cf54ece.diff

LOG: [Object] make SourceMgr available to MCContext during inline asm symbols
collection

Fixes PR51210.

Added: 
    

Modified: 
    llvm/lib/Object/ModuleSymbolTable.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Object/ModuleSymbolTable.cpp b/llvm/lib/Object/ModuleSymbolTable.cpp
index 9cdc2813f427..9a79de77af16 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<MemoryBuffer> 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<MCObjectFileInfo> 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<MemoryBuffer> Buffer(MemoryBuffer::getMemBuffer(InlineAsm));
-  SourceMgr SrcMgr;
-  SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc());
   std::unique_ptr<MCAsmParser> Parser(
       createMCAsmParser(SrcMgr, MCCtx, Streamer, *MAI));
 


        


More information about the llvm-commits mailing list