From: James Y Knight Date: Thu, 6 Aug 2015 20:26:18 +0000 (+0000) Subject: Remove unused 'Owned' flag from TemplateArgumentList. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dc40f2e4ea734d537b6d114532ca107164f41cae;p=clang Remove unused 'Owned' flag from TemplateArgumentList. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244261 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/DeclTemplate.h b/include/clang/AST/DeclTemplate.h index 44b907f749..dea2b3cc2b 100644 --- a/include/clang/AST/DeclTemplate.h +++ b/include/clang/AST/DeclTemplate.h @@ -149,10 +149,7 @@ public: /// \brief A template argument list. class TemplateArgumentList { /// \brief The template argument list. - /// - /// The integer value will be non-zero to indicate that this - /// template argument list does own the pointer. - llvm::PointerIntPair Arguments; + const TemplateArgument *Arguments; /// \brief The number of template arguments in this template /// argument list. @@ -161,9 +158,8 @@ class TemplateArgumentList { TemplateArgumentList(const TemplateArgumentList &Other) = delete; void operator=(const TemplateArgumentList &Other) = delete; - TemplateArgumentList(const TemplateArgument *Args, unsigned NumArgs, - bool Owned) - : Arguments(Args, Owned), NumArguments(NumArgs) { } + TemplateArgumentList(const TemplateArgument *Args, unsigned NumArgs) + : Arguments(Args), NumArguments(NumArgs) { } public: /// \brief Type used to indicate that the template argument list itself is a @@ -180,9 +176,9 @@ public: /// /// The template argument list does not own the template arguments /// provided. - explicit TemplateArgumentList(OnStackType, - const TemplateArgument *Args, unsigned NumArgs) - : Arguments(Args, false), NumArguments(NumArgs) { } + explicit TemplateArgumentList(OnStackType, const TemplateArgument *Args, + unsigned NumArgs) + : Arguments(Args), NumArguments(NumArgs) {} /// \brief Produces a shallow copy of the given template argument list. /// @@ -191,7 +187,7 @@ public: /// constructor, since this really really isn't safe to use that /// way. explicit TemplateArgumentList(const TemplateArgumentList *Other) - : Arguments(Other->data(), false), NumArguments(Other->size()) { } + : Arguments(Other->data()), NumArguments(Other->size()) {} /// \brief Retrieve the template argument at a given index. const TemplateArgument &get(unsigned Idx) const { @@ -212,9 +208,7 @@ public: unsigned size() const { return NumArguments; } /// \brief Retrieve a pointer to the template argument list. - const TemplateArgument *data() const { - return Arguments.getPointer(); - } + const TemplateArgument *data() const { return Arguments; } }; void *allocateDefaultArgStorageChain(const ASTContext &C); diff --git a/lib/AST/DeclTemplate.cpp b/lib/AST/DeclTemplate.cpp index 3da45e5633..c1379c0d4d 100644 --- a/lib/AST/DeclTemplate.cpp +++ b/lib/AST/DeclTemplate.cpp @@ -693,7 +693,7 @@ TemplateArgumentList::CreateCopy(ASTContext &Context, = reinterpret_cast( static_cast(Mem) + 1); std::uninitialized_copy(Args, Args + NumArgs, StoredArgs); - return new (Mem) TemplateArgumentList(StoredArgs, NumArgs, true); + return new (Mem) TemplateArgumentList(StoredArgs, NumArgs); } FunctionTemplateSpecializationInfo *