From c7b465366a529b8e21f52fbdcc7073d6ca859c40 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Sun, 17 Sep 2006 16:23:36 +0000 Subject: Fix PR912. The input to erase() must not be a reference to the data being erased. llvm-svn: 30442 --- llvm/lib/Analysis/AliasSetTracker.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Analysis') diff --git a/llvm/lib/Analysis/AliasSetTracker.cpp b/llvm/lib/Analysis/AliasSetTracker.cpp index 6d09b65c6b8..39f01b613ec 100644 --- a/llvm/lib/Analysis/AliasSetTracker.cpp +++ b/llvm/lib/Analysis/AliasSetTracker.cpp @@ -374,7 +374,8 @@ void AliasSetTracker::remove(AliasSet &AS) { ++NumRefs; // Finally, remove the entry. - PointerMap.erase(P->first); + Value *Remove = P->first; + PointerMap.erase(Remove); } // Stop using the alias set, removing it. -- cgit v1.2.3