diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-03-06 03:00:11 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-03-06 03:00:11 +0000 |
commit | c1b0f7fa9b755ab59129ae85187d0d4f91379995 (patch) | |
tree | 97d4a3b5353b903f24b7690fce4756f225e3a528 | |
parent | c112b9ce0aa54607c3bbad6db1c21da6bb786b58 (diff) |
Use TinyPtrVector instead of UsuallyTinyPtrVector.
The latter is just a worse version of the former.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152096 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/ASTContext.h | 4 | ||||
-rw-r--r-- | include/clang/AST/DeclCXX.h | 2 | ||||
-rw-r--r-- | lib/AST/ASTContext.cpp | 6 |
3 files changed, 3 insertions, 9 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 209ab1034f..62143e0199 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -32,7 +32,7 @@ #include "llvm/ADT/IntrusiveRefCntPtr.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallPtrSet.h" -#include "llvm/ADT/UsuallyTinyPtrVector.h" +#include "llvm/ADT/TinyPtrVector.h" #include "llvm/Support/Allocator.h" #include <vector> @@ -322,7 +322,7 @@ class ASTContext : public RefCountedBase<ASTContext> { /// Since most C++ member functions aren't virtual and therefore /// don't override anything, we store the overridden functions in /// this map on the side rather than within the CXXMethodDecl structure. - typedef llvm::UsuallyTinyPtrVector<const CXXMethodDecl> CXXMethodVector; + typedef llvm::TinyPtrVector<const CXXMethodDecl*> CXXMethodVector; llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods; /// \brief Mapping from each declaration context to its corresponding lambda diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index 2314548942..edecc779a3 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -1601,7 +1601,7 @@ public: /// void addOverriddenMethod(const CXXMethodDecl *MD); - typedef const CXXMethodDecl ** method_iterator; + typedef const CXXMethodDecl *const* method_iterator; method_iterator begin_overridden_methods() const; method_iterator end_overridden_methods() const; diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 5122c21c9a..40d43cd0b7 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -259,12 +259,6 @@ ASTContext::~ASTContext() { for (unsigned I = 0, N = Deallocations.size(); I != N; ++I) Deallocations[I].first(Deallocations[I].second); - // Release all of the memory associated with overridden C++ methods. - for (llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector>::iterator - OM = OverriddenMethods.begin(), OMEnd = OverriddenMethods.end(); - OM != OMEnd; ++OM) - OM->second.Destroy(); - // ASTRecordLayout objects in ASTRecordLayouts must always be destroyed // because they can contain DenseMaps. for (llvm::DenseMap<const ObjCContainerDecl*, |