diff options
author | Dan Gohman <gohman@apple.com> | 2009-07-31 18:21:48 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-07-31 18:21:48 +0000 |
commit | a818c30d664cd4ba4b9ed69fb2048a6ea55ec9cd (patch) | |
tree | 78382aec42d600063f793c4e9c4c1743f65e4bbd /include | |
parent | 29384efb76a85e84f87c9bf898262d7f1069c38c (diff) | |
download | external_llvm-a818c30d664cd4ba4b9ed69fb2048a6ea55ec9cd.zip external_llvm-a818c30d664cd4ba4b9ed69fb2048a6ea55ec9cd.tar.gz external_llvm-a818c30d664cd4ba4b9ed69fb2048a6ea55ec9cd.tar.bz2 |
Fix some problems with ASTCallbackVH in its use as a DenseMap key.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77696 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/AliasSetTracker.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/llvm/Analysis/AliasSetTracker.h b/include/llvm/Analysis/AliasSetTracker.h index 99d7ce8..1fb4c8f 100644 --- a/include/llvm/Analysis/AliasSetTracker.h +++ b/include/llvm/Analysis/AliasSetTracker.h @@ -259,12 +259,19 @@ class AliasSetTracker { virtual void deleted(); public: ASTCallbackVH(Value *V, AliasSetTracker *AST = 0); + ASTCallbackVH &operator=(Value *V); + }; + /// ASTCallbackVHDenseMapInfo - Traits to tell DenseMap that ASTCallbackVH + /// is not a POD (it needs its destructor called). + struct ASTCallbackVHDenseMapInfo : public DenseMapInfo<Value *> { + static bool isPod() { return false; } }; AliasAnalysis &AA; ilist<AliasSet> AliasSets; - typedef DenseMap<ASTCallbackVH, AliasSet::PointerRec*, DenseMapInfo<Value*> > + typedef DenseMap<ASTCallbackVH, AliasSet::PointerRec*, + ASTCallbackVHDenseMapInfo> PointerMapType; // Map from pointers to their node |