From 7553ad2b7513fce1acd85658279da204fa99426f Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sun, 17 Jun 2012 11:47:03 +0000 Subject: [PATCH] Switch users of SmallMap to use SmallDenseMap instead. The most important change here is that the destructor and copy constructor for StoredDeclsList will now reliably be run. Previously, the destructors at least were missed in some cases. See the LLVM commits discussions for why SmallMap is broken and going away. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158642 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/CXXInheritance.h | 4 ++-- include/clang/AST/DeclContextInternals.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/clang/AST/CXXInheritance.h b/include/clang/AST/CXXInheritance.h index 814e2761da..ee6eba78e4 100644 --- a/include/clang/AST/CXXInheritance.h +++ b/include/clang/AST/CXXInheritance.h @@ -19,7 +19,7 @@ #include "clang/AST/DeclCXX.h" #include "clang/AST/Type.h" #include "clang/AST/TypeOrdering.h" -#include "llvm/ADT/SmallMap.h" +#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallVector.h" #include @@ -128,7 +128,7 @@ class CXXBasePaths { /// while the element contains the number of non-virtual base /// class subobjects for that class type. The key of the map is /// the cv-unqualified canonical type of the base class subobject. - llvm::SmallMap, 8> ClassSubobjects; + llvm::SmallDenseMap, 8> ClassSubobjects; /// FindAmbiguities - Whether Sema::IsDerivedFrom should try find /// ambiguous paths while it is looking for a path from a derived diff --git a/include/clang/AST/DeclContextInternals.h b/include/clang/AST/DeclContextInternals.h index 9a70f9d405..39f04c68a3 100644 --- a/include/clang/AST/DeclContextInternals.h +++ b/include/clang/AST/DeclContextInternals.h @@ -18,7 +18,7 @@ #include "clang/AST/DeclarationName.h" #include "clang/AST/DeclCXX.h" #include "llvm/ADT/PointerUnion.h" -#include "llvm/ADT/SmallMap.h" +#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" #include @@ -196,7 +196,7 @@ public: }; class StoredDeclsMap - : public llvm::SmallMap { + : public llvm::SmallDenseMap { public: static void DestroyAll(StoredDeclsMap *Map, bool Dependent); -- 2.50.1