From 490dd9c70dc25bd7b1936a05d7878dc151f96c46 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 21 Sep 2012 17:15:24 +0000 Subject: [PATCH] Use MapVectors to make the order we mark virtual functions used by a vtable deterministic. Fixes pr13868. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164382 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/CXXInheritance.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/clang/AST/CXXInheritance.h b/include/clang/AST/CXXInheritance.h index 5e3145fb64..87bdbe04f3 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/DenseMap.h" +#include "llvm/ADT/MapVector.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallVector.h" #include @@ -272,7 +272,7 @@ struct UniqueVirtualMethod { /// subobject in which that virtual function occurs). class OverridingMethods { typedef SmallVector ValuesT; - typedef llvm::DenseMap MapType; + typedef llvm::MapVector MapType; MapType Overrides; public: @@ -356,8 +356,8 @@ public: /// 0 represents the virtua base class subobject of that type, while /// subobject numbers greater than 0 refer to non-virtual base class /// subobjects of that type. -class CXXFinalOverriderMap - : public llvm::DenseMap { }; +class CXXFinalOverriderMap + : public llvm::MapVector { }; /// \brief A set of all the primary bases for a class. class CXXIndirectPrimaryBaseSet -- 2.50.1