diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 09:40:22 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 09:40:22 +0000 |
commit | cce6347be5850fa679d3600307735e61e9dfe9fe (patch) | |
tree | 47e66381fe2788d2c5ba793f4a327e0ace33e02e /clang/lib/AST/TemplateBase.cpp | |
parent | 1f11d45a3f1a36c61605e6fef7659b3b2b892fe7 (diff) |
[AST] ArrayRefize template argument packs. No functionality change intended.
llvm-svn: 244026
Diffstat (limited to 'clang/lib/AST/TemplateBase.cpp')
-rw-r--r-- | clang/lib/AST/TemplateBase.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/clang/lib/AST/TemplateBase.cpp b/clang/lib/AST/TemplateBase.cpp index f8b73cb8f89a..8c5a69183603 100644 --- a/clang/lib/AST/TemplateBase.cpp +++ b/clang/lib/AST/TemplateBase.cpp @@ -88,15 +88,13 @@ TemplateArgument::TemplateArgument(ASTContext &Ctx, const llvm::APSInt &Value, Integer.Type = Type.getAsOpaquePtr(); } -TemplateArgument TemplateArgument::CreatePackCopy(ASTContext &Context, - const TemplateArgument *Args, - unsigned NumArgs) { - if (NumArgs == 0) +TemplateArgument +TemplateArgument::CreatePackCopy(ASTContext &Context, + ArrayRef<TemplateArgument> Args) { + if (Args.empty()) return getEmptyPack(); - - TemplateArgument *Storage = new (Context) TemplateArgument [NumArgs]; - std::copy(Args, Args + NumArgs, Storage); - return TemplateArgument(Storage, NumArgs); + + return TemplateArgument(Args.copy(Context)); } bool TemplateArgument::isDependent() const { |