diff options
Diffstat (limited to 'clang/lib/Frontend/PrecompiledPreamble.cpp')
| -rw-r--r-- | clang/lib/Frontend/PrecompiledPreamble.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Frontend/PrecompiledPreamble.cpp b/clang/lib/Frontend/PrecompiledPreamble.cpp index 276a9676eaa..55eb1ff069c 100644 --- a/clang/lib/Frontend/PrecompiledPreamble.cpp +++ b/clang/lib/Frontend/PrecompiledPreamble.cpp @@ -369,9 +369,11 @@ llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build( SourceManager &SourceMgr = Clang->getSourceManager(); for (auto &Filename : PreambleDepCollector->getDependencies()) { - const FileEntry *File = Clang->getFileManager().getFile(Filename); - if (!File || File == SourceMgr.getFileEntryForID(SourceMgr.getMainFileID())) + auto FileOrErr = Clang->getFileManager().getFile(Filename); + if (!FileOrErr || + *FileOrErr == SourceMgr.getFileEntryForID(SourceMgr.getMainFileID())) continue; + auto File = *FileOrErr; if (time_t ModTime = File->getModificationTime()) { FilesInPreamble[File->getName()] = PrecompiledPreamble::PreambleFileHash::createForFile(File->getSize(), |

