diff options
Diffstat (limited to 'clang/lib/Frontend/PrecompiledPreamble.cpp')
-rw-r--r-- | clang/lib/Frontend/PrecompiledPreamble.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/Frontend/PrecompiledPreamble.cpp b/clang/lib/Frontend/PrecompiledPreamble.cpp index b768c53..62373b2 100644 --- a/clang/lib/Frontend/PrecompiledPreamble.cpp +++ b/clang/lib/Frontend/PrecompiledPreamble.cpp @@ -550,19 +550,19 @@ llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build( SourceManager &SourceMgr = Clang->getSourceManager(); for (auto &Filename : PreambleDepCollector->getDependencies()) { - auto FileOrErr = Clang->getFileManager().getFile(Filename); - if (!FileOrErr || - *FileOrErr == SourceMgr.getFileEntryForID(SourceMgr.getMainFileID())) + auto MaybeFile = Clang->getFileManager().getOptionalFileRef(Filename); + if (!MaybeFile || + MaybeFile == SourceMgr.getFileEntryRefForID(SourceMgr.getMainFileID())) continue; - auto File = *FileOrErr; - if (time_t ModTime = File->getModificationTime()) { - FilesInPreamble[File->getName()] = - PrecompiledPreamble::PreambleFileHash::createForFile(File->getSize(), + auto File = *MaybeFile; + if (time_t ModTime = File.getModificationTime()) { + FilesInPreamble[File.getName()] = + PrecompiledPreamble::PreambleFileHash::createForFile(File.getSize(), ModTime); } else { llvm::MemoryBufferRef Buffer = SourceMgr.getMemoryBufferForFileOrFake(File); - FilesInPreamble[File->getName()] = + FilesInPreamble[File.getName()] = PrecompiledPreamble::PreambleFileHash::createForMemoryBuffer(Buffer); } } |