diff options
Diffstat (limited to 'clang/tools/libclang/Indexing.cpp')
-rw-r--r-- | clang/tools/libclang/Indexing.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/tools/libclang/Indexing.cpp b/clang/tools/libclang/Indexing.cpp index 63bae0717c4..bd511f1b487 100644 --- a/clang/tools/libclang/Indexing.cpp +++ b/clang/tools/libclang/Indexing.cpp @@ -363,8 +363,9 @@ public: PreprocessorOptions &PPOpts = CI.getPreprocessorOpts(); if (!PPOpts.ImplicitPCHInclude.empty()) { - DataConsumer->importedPCH( - CI.getFileManager().getFile(PPOpts.ImplicitPCHInclude)); + auto File = CI.getFileManager().getFile(PPOpts.ImplicitPCHInclude); + if (File) + DataConsumer->importedPCH(*File); } DataConsumer->setASTContext(CI.getASTContext()); @@ -677,9 +678,10 @@ static CXErrorCode clang_indexTranslationUnit_Impl( if (Unit->getOriginalSourceFileName().empty()) DataConsumer.enteredMainFile(nullptr); + else if (auto MainFile = FileMgr.getFile(Unit->getOriginalSourceFileName())) + DataConsumer.enteredMainFile(*MainFile); else - DataConsumer.enteredMainFile( - FileMgr.getFile(Unit->getOriginalSourceFileName())); + DataConsumer.enteredMainFile(nullptr); DataConsumer.setASTContext(Unit->getASTContext()); DataConsumer.startedTranslationUnit(); |