njames93 created this revision. njames93 added a reviewer: hokein. Herald added subscribers: cfe-commits, usaxena95, kadircet, arphaman. Herald added a project: clang. njames93 requested review of this revision. Herald added subscribers: MaskRay, ilya-biryukov.
Storing this on the heap doesn't make any sense. Just an extra allocation(and for Rename, indirection) thats not needed. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D91341 Files: clang-tools-extra/clangd/index/CanonicalIncludes.cpp clang-tools-extra/clangd/refactor/Rename.cpp Index: clang-tools-extra/clangd/refactor/Rename.cpp =================================================================== --- clang-tools-extra/clangd/refactor/Rename.cpp +++ 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<llvm::StringRef>({ + static const llvm::DenseSet<llvm::StringRef> 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 { Index: clang-tools-extra/clangd/index/CanonicalIncludes.cpp =================================================================== --- clang-tools-extra/clangd/index/CanonicalIncludes.cpp +++ 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<llvm::StringRef>({ + static const llvm::StringMap<llvm::StringRef> 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::, <utility>) #undef SYMBOL - }); - StdSymbolMapping = Symbols; + }; + StdSymbolMapping = &Symbols; } else if (Language.C11) { - static const auto *CSymbols = new llvm::StringMap<llvm::StringRef>({ + static const llvm::StringMap<llvm::StringRef> 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
Index: clang-tools-extra/clangd/refactor/Rename.cpp =================================================================== --- clang-tools-extra/clangd/refactor/Rename.cpp +++ 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<llvm::StringRef>({ + static const llvm::DenseSet<llvm::StringRef> 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 { Index: clang-tools-extra/clangd/index/CanonicalIncludes.cpp =================================================================== --- clang-tools-extra/clangd/index/CanonicalIncludes.cpp +++ 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<llvm::StringRef>({ + static const llvm::StringMap<llvm::StringRef> 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::, <utility>) #undef SYMBOL - }); - StdSymbolMapping = Symbols; + }; + StdSymbolMapping = &Symbols; } else if (Language.C11) { - static const auto *CSymbols = new llvm::StringMap<llvm::StringRef>({ + static const llvm::StringMap<llvm::StringRef> 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
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits