Author: ioeric Date: Mon Jul 9 11:54:51 2018 New Revision: 336581 URL: http://llvm.org/viewvc/llvm-project?rev=336581&view=rev Log: [clangd] Make sure macro information exists before increasing usage count.
Modified: clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp Modified: clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp?rev=336581&r1=336580&r2=336581&view=diff ============================================================================== --- clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp (original) +++ clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp Mon Jul 9 11:54:51 2018 @@ -371,7 +371,6 @@ bool SymbolCollector::handleMacroOccuren Roles & static_cast<unsigned>(index::SymbolRole::Definition))) return true; - llvm::SmallString<128> USR; if (index::generateUSRForMacro(Name->getName(), MI->getDefinitionLoc(), SM, USR)) @@ -433,11 +432,10 @@ void SymbolCollector::finish() { assert(PP); for (const IdentifierInfo *II : ReferencedMacros) { llvm::SmallString<128> USR; - if (!index::generateUSRForMacro( - II->getName(), - PP->getMacroDefinition(II).getMacroInfo()->getDefinitionLoc(), - PP->getSourceManager(), USR)) - IncRef(SymbolID(USR)); + if (const auto *MI = PP->getMacroDefinition(II).getMacroInfo()) + if (!index::generateUSRForMacro(II->getName(), MI->getDefinitionLoc(), + PP->getSourceManager(), USR)) + IncRef(SymbolID(USR)); } } ReferencedDecls.clear(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits