From 7f83e97b00622620d06e8fc110897e777dd65819 Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Sun, 22 Nov 2009 13:22:34 +0000 Subject: [PATCH] Save and restore the HasGen flag in MallocChecker. llvm-svn: 89590 --- clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h | 2 ++ clang/lib/Analysis/MallocChecker.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h index 870de82bd85c..b78cc6adfc4a 100644 --- a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h +++ b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h @@ -405,6 +405,8 @@ class GREndPathNodeBuilder { GRCoreEngine& Eng; CFGBlock& B; ExplodedNode* Pred; + +public: bool HasGeneratedNode; public: diff --git a/clang/lib/Analysis/MallocChecker.cpp b/clang/lib/Analysis/MallocChecker.cpp index 93e708332ed7..995720b1f8f7 100644 --- a/clang/lib/Analysis/MallocChecker.cpp +++ b/clang/lib/Analysis/MallocChecker.cpp @@ -173,6 +173,7 @@ void MallocChecker::EvalDeadSymbols(CheckerContext &C, const Stmt *S, void MallocChecker::EvalEndPath(GREndPathNodeBuilder &B, void *tag, GRExprEngine &Eng) { + SaveAndRestore OldHasGen(B.HasGeneratedNode); const GRState *state = B.getState(); typedef llvm::ImmutableMap SymMap; SymMap M = state->get();