From f7faa42c6c19a1da9320cfbc759dfd3222994cc3 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 18 Jul 2008 17:39:56 +0000 Subject: [PATCH] Fix caching bug. llvm-svn: 53759 --- clang/lib/Analysis/CFRefCount.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/clang/lib/Analysis/CFRefCount.cpp b/clang/lib/Analysis/CFRefCount.cpp index 27c5fe33fc4b..de048eb4bea8 100644 --- a/clang/lib/Analysis/CFRefCount.cpp +++ b/clang/lib/Analysis/CFRefCount.cpp @@ -265,15 +265,16 @@ public: static void Profile(llvm::FoldingSetNodeID& ID, ArgEffects* A, RetEffect RetEff, ArgEffect DefaultEff, - ArgEffect ReceiverEff) { + ArgEffect ReceiverEff, bool EndPath) { ID.AddPointer(A); ID.Add(RetEff); ID.AddInteger((unsigned) DefaultEff); ID.AddInteger((unsigned) ReceiverEff); + ID.AddInteger((unsigned) EndPath); } void Profile(llvm::FoldingSetNodeID& ID) const { - Profile(ID, Args, Ret, DefaultArgEffect, Receiver); + Profile(ID, Args, Ret, DefaultArgEffect, Receiver, EndPath); } }; } // end anonymous namespace @@ -643,7 +644,8 @@ RetainSummaryManager::getPersistentSummary(ArgEffects* AE, RetEffect RetEff, // Generate a profile for the summary. llvm::FoldingSetNodeID profile; - RetainSummary::Profile(profile, AE, RetEff, DefaultEff, ReceiverEff); + RetainSummary::Profile(profile, AE, RetEff, DefaultEff, ReceiverEff, + isEndPath); // Look up the uniqued summary, or create one if it doesn't exist. void* InsertPos; @@ -1010,7 +1012,7 @@ void RetainSummaryManager::InitializeMethodSummaries() { getPersistentSummary(RetEffect::MakeReceiverAlias(), SelfOwn); // Create the "initWithContentRect:styleMask:backing:defer:" selector. - llvm::SmallVector II; + llvm::SmallVector II; II.push_back(&Ctx.Idents.get("initWithContentRect")); II.push_back(&Ctx.Idents.get("styleMask")); II.push_back(&Ctx.Idents.get("backing"));