diff --git a/clang-tools-extra/clangd/index/CanonicalIncludes.cpp b/clang-tools-extra/clangd/index/CanonicalIncludes.cpp --- a/clang-tools-extra/clangd/index/CanonicalIncludes.cpp +++ b/clang-tools-extra/clangd/index/CanonicalIncludes.cpp @@ -87,21 +87,21 @@ void CanonicalIncludes::addSystemHeadersMapping(const LangOptions &Language) { if (Language.CPlusPlus) { - static const auto *Symbols = new llvm::StringMap({ + static const llvm::StringMap Symbols{ #define SYMBOL(Name, NameSpace, Header) {#NameSpace #Name, #Header}, #include "StdSymbolMap.inc" // There are two std::move()s, this is by far the most common. SYMBOL(move, std::, ) #undef SYMBOL - }); - StdSymbolMapping = Symbols; + }; + StdSymbolMapping = &Symbols; } else if (Language.C11) { - static const auto *CSymbols = new llvm::StringMap({ + static const llvm::StringMap CSymbols{ #define SYMBOL(Name, NameSpace, Header) {#Name, #Header}, #include "CSymbolMap.inc" #undef SYMBOL - }); - StdSymbolMapping = CSymbols; + }; + StdSymbolMapping = &CSymbols; } // FIXME: remove the std header mapping once we support ambiguous symbols, now diff --git a/clang-tools-extra/clangd/refactor/Rename.cpp b/clang-tools-extra/clangd/refactor/Rename.cpp --- a/clang-tools-extra/clangd/refactor/Rename.cpp +++ b/clang-tools-extra/clangd/refactor/Rename.cpp @@ -105,12 +105,12 @@ if (isProtoFile(RenameDecl.getLocation(), RenameDecl.getASTContext().getSourceManager())) return true; - static const auto *StdSymbols = new llvm::DenseSet({ + static const llvm::DenseSet StdSymbols = { #define SYMBOL(Name, NameSpace, Header) {#NameSpace #Name}, #include "StdSymbolMap.inc" #undef SYMBOL - }); - return StdSymbols->count(printQualifiedName(RenameDecl)); + }; + return StdSymbols.contains(printQualifiedName(RenameDecl)); } enum class ReasonToReject {