]> granicus.if.org Git - clang/commitdiff
Remove unused 'Owned' flag from TemplateArgumentList.
authorJames Y Knight <jyknight@google.com>
Thu, 6 Aug 2015 20:26:18 +0000 (20:26 +0000)
committerJames Y Knight <jyknight@google.com>
Thu, 6 Aug 2015 20:26:18 +0000 (20:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244261 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclTemplate.h
lib/AST/DeclTemplate.cpp

index 44b907f7494c8d0d23fda1624b0c7800cfc99869..dea2b3cc2bbd38714b351f46bb22310f175e752f 100644 (file)
@@ -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<const TemplateArgument *, 1> 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);
index 3da45e56337f0b8665cf4a7ea862c5fab25f00d6..c1379c0d4d315d6e5db38725a638ef2c3ebfc780 100644 (file)
@@ -693,7 +693,7 @@ TemplateArgumentList::CreateCopy(ASTContext &Context,
     = reinterpret_cast<TemplateArgument *>(
                                 static_cast<TemplateArgumentList *>(Mem) + 1);
   std::uninitialized_copy(Args, Args + NumArgs, StoredArgs);
-  return new (Mem) TemplateArgumentList(StoredArgs, NumArgs, true);
+  return new (Mem) TemplateArgumentList(StoredArgs, NumArgs);
 }
 
 FunctionTemplateSpecializationInfo *