Revert "[analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change."

This reverts commit d02b4af7bd6ca4a743c7074d64e205d718aa221d.

llvm-svn: 138420
This commit is contained in:
Eric Christopher 2011-08-24 00:39:51 +00:00
parent 1825e7a260
commit aa8b6a5cf4
1 changed files with 13 additions and 11 deletions

View File

@ -2963,6 +2963,9 @@ void RetainReleaseChecker::checkSummary(const RetainSummary &Summ,
const CallOrObjCMessage &CallOrMsg,
InstanceReceiver Receiver,
CheckerContext &C) const {
// FIXME: This goes away when the RetainSummaryManager moves to the checker.
CFRefCount &TF = static_cast<CFRefCount&>(C.getEngine().getTF());
const ProgramState *state = C.getState();
// Evaluate the effect of the arguments.
@ -3010,13 +3013,10 @@ void RetainReleaseChecker::checkSummary(const RetainSummary &Summ,
RetEffect RE = Summ.getRetEffect();
if (RE.getKind() == RetEffect::OwnedWhenTrackedReceiver) {
if (ReceiverIsTracked) {
// FIXME: This goes away if the RetainSummaryManager moves to the checker.
CFRefCount &TF = static_cast<CFRefCount&>(C.getEngine().getTF());
RE = TF.Summaries.getObjAllocRetEffect();
} else {
if (ReceiverIsTracked)
RE = TF.Summaries.getObjAllocRetEffect();
else
RE = RetEffect::MakeNoRet();
}
}
switch (RE.getKind()) {
@ -3399,12 +3399,17 @@ void RetainReleaseChecker::checkPreStmt(const ReturnStmt *S,
if (!Pred)
return;
ExprEngine &Eng = C.getEngine();
// FIXME: This goes away once HandleAutoreleaseCount() and the
// RetainSummariesManager move to RetainReleaseChecker.
CFRefCount &TF = static_cast<CFRefCount&>(Eng.getTF());
// Update the autorelease counts.
static SimpleProgramPointTag
AutoreleaseTag("RetainReleaseChecker : Autorelease");
GenericNodeBuilderRefCount Bd(C.getNodeBuilder(), S, &AutoreleaseTag);
llvm::tie(Pred, state) = handleAutoreleaseCounts(state, Bd, Pred,
C.getEngine(), Sym, X);
llvm::tie(Pred, state) = handleAutoreleaseCounts(state, Bd, Pred, Eng,
Sym, X);
// Did we cache out?
if (!Pred)
@ -3418,9 +3423,6 @@ void RetainReleaseChecker::checkPreStmt(const ReturnStmt *S,
// Consult the summary of the enclosing method.
const Decl *CD = &Pred->getCodeDecl();
// FIXME: This goes away once the RetainSummariesManager moves to the checker.
CFRefCount &TF = static_cast<CFRefCount&>(C.getEngine().getTF());
if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(CD)) {
// Unlike regular functions, /all/ ObjC methods are assumed to always
// follow Cocoa retain-count conventions, not just those with special