]> granicus.if.org Git - clang/commitdiff
Stop using new[] on llvm::BumpPtrAllocator.
authorDmitri Gribenko <gribozavr@gmail.com>
Fri, 6 Jul 2012 16:41:59 +0000 (16:41 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Fri, 6 Jul 2012 16:41:59 +0000 (16:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159833 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/CommentLexer.h
include/clang/AST/CommentParser.h
lib/AST/CommentParser.cpp

index f8dfd278ee071bd2db313b431804844eba060b9a..6683788227df7744706e6cd5b6d6e1e413486283 100644 (file)
@@ -479,7 +479,7 @@ public:
       return false;
     }
 
-    char *TextPtr = new (Allocator) char[Length + 1];
+    char *TextPtr = Allocator.Allocate<char>(Length + 1);
 
     memcpy(TextPtr, WordText.c_str(), Length + 1);
     StringRef Text = StringRef(TextPtr, Length);
@@ -525,7 +525,7 @@ public:
     }
 
     const unsigned Length = WordText.size();
-    char *TextPtr = new (Allocator) char[Length + 1];
+    char *TextPtr = Allocator.Allocate<char>(Length + 1);
 
     memcpy(TextPtr, WordText.c_str(), Length + 1);
     StringRef Text = StringRef(TextPtr, Length);
index 53c58662bf34b6a5f0147020e178f61cc02cbb86..e75d7978b77a19a2b87c4e86b0a6d1acd4c53108 100644 (file)
@@ -34,8 +34,8 @@ class Parser {
   ArrayRef<T> copyArray(ArrayRef<T> Source) {
     size_t Size = Source.size();
     if (Size != 0) {
-      T *Mem = new (Allocator) T[Size];
-      std::copy(Source.begin(), Source.end(), Mem);
+      T *Mem = Allocator.Allocate<T>(Size);
+      std::uninitialized_copy(Source.begin(), Source.end(), Mem);
       return llvm::makeArrayRef(Mem, Size);
     } else
       return llvm::makeArrayRef(static_cast<T *>(NULL), 0);
index 75eae46b8b7a5b5d51dc944debe3a97cd9d27761..14a2d85ae4b5b440ff088718f41aaa36f223cb5c 100644 (file)
@@ -47,7 +47,8 @@ BlockCommandComment *Parser::parseBlockCommandArgs(
     TextTokenRetokenizer &Retokenizer,
     unsigned NumArgs) {
   typedef BlockCommandComment::Argument Argument;
-  Argument *Args = new (Allocator) Argument[NumArgs];
+  Argument *Args =
+      new (Allocator.Allocate<Argument>(NumArgs)) Argument[NumArgs];
   unsigned ParsedArgs = 0;
   Token Arg;
   while (ParsedArgs < NumArgs && Retokenizer.lexWord(Arg)) {