[PATCH] D58782: Use ArrayRef::copy, instead of copying data manually

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 28 05:50:45 PST 2019


gribozavr created this revision.
gribozavr added a reviewer: ioeric.
Herald added subscribers: cfe-commits, kadircet, arphaman, jkorous.
Herald added a project: clang.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D58782

Files:
  clang-tools-extra/clangd/index/Ref.cpp


Index: clang-tools-extra/clangd/index/Ref.cpp
===================================================================
--- clang-tools-extra/clangd/index/Ref.cpp
+++ clang-tools-extra/clangd/index/Ref.cpp
@@ -51,9 +51,7 @@
     SymRefs.erase(std::unique(SymRefs.begin(), SymRefs.end()), SymRefs.end());
 
     NumRefs += SymRefs.size();
-    auto *Array = Arena.Allocate<Ref>(SymRefs.size());
-    std::uninitialized_copy(SymRefs.begin(), SymRefs.end(), Array);
-    Result.emplace_back(Sym.first, llvm::ArrayRef<Ref>(Array, SymRefs.size()));
+    Result.emplace_back(Sym.first, llvm::ArrayRef<Ref>(SymRefs).copy(Arena));
   }
   return RefSlab(std::move(Result), std::move(Arena), NumRefs);
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58782.188729.patch
Type: text/x-patch
Size: 690 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190228/7e4b7639/attachment-0001.bin>


More information about the cfe-commits mailing list