]> granicus.if.org Git - clang/commitdiff
[analyzer] Remove lingering CFRefCount creation, which would have resulted in a leak...
authorJordy Rose <jediknil@belkadan.com>
Fri, 2 Sep 2011 06:29:27 +0000 (06:29 +0000)
committerJordy Rose <jediknil@belkadan.com>
Fri, 2 Sep 2011 06:29:27 +0000 (06:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139000 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Core/CoreEngine.cpp

index f71802fd430d638e86bce59c26d0048dc9a55f28..06c3af1c0ae83d818f3cff3a8e4eebde9f30fabc 100644 (file)
 using namespace clang;
 using namespace ento;
 
-// This should be removed in the future.
-namespace clang {
-namespace ento {
-TransferFuncs* MakeCFRefCountTF(ASTContext &Ctx, bool GCEnabled,
-                                  const LangOptions& lopts);
-}
-}
-
 //===----------------------------------------------------------------------===//
 // Worklist classes for exploration of reachable states.
 //===----------------------------------------------------------------------===//
@@ -813,11 +805,10 @@ void CallEnterNodeBuilder::generateNode(const ProgramState *state) {
                      OldMgr.getAnalysisContextManager().
                          getCFGBuildOptions().AddInitializers,
                      OldMgr.shouldEagerlyTrimExplodedGraph());
-    llvm::OwningPtr<TransferFuncs> TF(MakeCFRefCountTF(AMgr.getASTContext(),
-                                                         /* GCEnabled */ false,
-                                                        AMgr.getLangOptions()));
     // Create the new engine.
-    ExprEngine NewEng(AMgr, TF.take());
+    // FIXME: This cast isn't really safe.
+    bool GCEnabled = static_cast<ExprEngine&>(Eng.SubEng).isObjCGCEnabled();
+    ExprEngine NewEng(AMgr, GCEnabled);
 
     // Create the new LocationContext.
     AnalysisContext *NewAnaCtx = AMgr.getAnalysisContext(CalleeCtx->getDecl(),