From: George Burgess IV Date: Tue, 13 Dec 2016 19:22:56 +0000 (+0000) Subject: [Sema] Prefer SmallVector over `new`ed memory blocks. NFC. X-Git-Tag: llvmorg-4.0.0-rc1~2205 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=215f6e788ec828db7d7740067d27ede93497e01b;p=platform%2Fupstream%2Fllvm.git [Sema] Prefer SmallVector over `new`ed memory blocks. NFC. llvm-svn: 289571 --- diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 57a45ee..23ad715 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -12749,9 +12749,9 @@ Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj, // Build the full argument list for the method call (the implicit object // parameter is placed at the beginning of the list). - std::unique_ptr MethodArgs(new Expr *[Args.size() + 1]); + SmallVector MethodArgs(Args.size() + 1); MethodArgs[0] = Object.get(); - std::copy(Args.begin(), Args.end(), &MethodArgs[1]); + std::copy(Args.begin(), Args.end(), MethodArgs.begin() + 1); // Once we've built TheCall, all of the expressions are properly // owned. @@ -12760,10 +12760,8 @@ Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj, ResultTy = ResultTy.getNonLValueExprType(Context); CXXOperatorCallExpr *TheCall = new (Context) - CXXOperatorCallExpr(Context, OO_Call, NewFn.get(), - llvm::makeArrayRef(MethodArgs.get(), Args.size() + 1), - ResultTy, VK, RParenLoc, false); - MethodArgs.reset(); + CXXOperatorCallExpr(Context, OO_Call, NewFn.get(), MethodArgs, ResultTy, + VK, RParenLoc, false); if (CheckCallReturnType(Method->getReturnType(), LParenLoc, TheCall, Method)) return true;