diff options
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
-rw-r--r-- | clang/lib/Serialization/ModuleManager.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index 0a9ea69d695..2c10c119a07 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -106,9 +106,13 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type, // Open the AST file. std::error_code ec; if (FileName == "-") { - ec = llvm::MemoryBuffer::getSTDIN(New->Buffer); + llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> Buf = + llvm::MemoryBuffer::getSTDIN(); + ec = Buf.getError(); if (ec) ErrorStr = ec.message(); + else + New->Buffer = std::move(Buf.get()); } else { // Leave the FileEntry open so if it gets read again by another // ModuleManager it must be the same underlying file. |