diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-04-10 23:44:06 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-04-10 23:44:06 +0000 |
commit | 4b772096947829ee129ebfe53e8955751f843f61 (patch) | |
tree | dbdf42f76b8aae62b3ad68fab78a7bb3936bc64d /clang/lib/Analysis/GRExprEngine.cpp | |
parent | de615836f31d032025a98008082652e83c74da01 (diff) | |
download | bcm5719-llvm-4b772096947829ee129ebfe53e8955751f843f61.tar.gz bcm5719-llvm-4b772096947829ee129ebfe53e8955751f843f61.zip |
Fixed some logic errors in the CF ref count checker; we now can detect simple
use-after-release errors. Added test case.
llvm-svn: 49509
Diffstat (limited to 'clang/lib/Analysis/GRExprEngine.cpp')
-rw-r--r-- | clang/lib/Analysis/GRExprEngine.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Analysis/GRExprEngine.cpp b/clang/lib/Analysis/GRExprEngine.cpp index 6d4217774d3..3211da29189 100644 --- a/clang/lib/Analysis/GRExprEngine.cpp +++ b/clang/lib/Analysis/GRExprEngine.cpp @@ -678,6 +678,8 @@ void GRExprEngine::VisitCall(CallExpr* CE, NodeTy* Pred, unsigned size = Dst.size(); + SaveAndRestore<bool> OldSink(Builder->BuildSinks); + EvalCall(Dst, CE, cast<LVal>(L), *DI); if (!Builder->BuildSinks && Dst.size() == size) |