summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/Indexing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/libclang/Indexing.cpp')
-rw-r--r--clang/tools/libclang/Indexing.cpp10
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();
OpenPOWER on IntegriCloud