Index: llvm/include/llvm/IR/LLVMContext.h =================================================================== --- llvm/include/llvm/IR/LLVMContext.h +++ llvm/include/llvm/IR/LLVMContext.h @@ -68,7 +68,7 @@ public: LLVMContextImpl *const pImpl; LLVMContext(); - LLVMContext(LLVMContext &) = delete; + LLVMContext(const LLVMContext &) = delete; LLVMContext &operator=(const LLVMContext &) = delete; ~LLVMContext(); Index: llvm/lib/AsmParser/Parser.cpp =================================================================== --- llvm/lib/AsmParser/Parser.cpp +++ llvm/lib/AsmParser/Parser.cpp @@ -28,9 +28,9 @@ std::unique_ptr Buf = MemoryBuffer::getMemBuffer(F); SM.AddNewSourceBuffer(std::move(Buf), SMLoc()); - LLVMContext Context; + std::optional OptContext; return LLParser(F.getBuffer(), SM, Err, M, Index, - M ? M->getContext() : Context, Slots) + M ? M->getContext() : OptContext.emplace(), Slots) .Run(UpgradeDebugInfo, DataLayoutCallback); }