diff options
Diffstat (limited to 'clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp')
-rw-r--r-- | clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp b/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp index 7a374698f7b..3c015fef93c 100644 --- a/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp +++ b/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp @@ -76,7 +76,12 @@ void MapExtDefNamesConsumer::handleDecl(const Decl *D) { void MapExtDefNamesConsumer::addIfInMain(const DeclaratorDecl *DD, SourceLocation defStart) { - std::string LookupName = CrossTranslationUnitContext::getLookupName(DD); + llvm::Optional<std::string> LookupName = + CrossTranslationUnitContext::getLookupName(DD); + if (!LookupName) + return; + assert(!LookupName->empty() && "Lookup name should be non-empty."); + if (CurrentFileName.empty()) { CurrentFileName = SM.getFileEntryForID(SM.getMainFileID())->tryGetRealPathName(); @@ -89,7 +94,7 @@ void MapExtDefNamesConsumer::addIfInMain(const DeclaratorDecl *DD, case VisibleNoLinkage: case UniqueExternalLinkage: if (SM.isInMainFile(defStart)) - Index[LookupName] = CurrentFileName; + Index[*LookupName] = CurrentFileName; break; default: break; |