commit | 469a1eb996e1cb0be54f9b210f836afbddcbb2cc | [log] [tgz] |
---|---|---|
author | John McCall <rjmccall@apple.com> | Wed Feb 02 13:00:07 2011 +0000 |
committer | John McCall <rjmccall@apple.com> | Wed Feb 02 13:00:07 2011 +0000 |
tree | d80fe9f7fd892e6713f33d29ee26aa0270db925a | |
parent | 5b5828b74c758d7babffb2407464507fa004b157 [diff] [blame] |
An insomniac stab at making block declarations list the variables they close on, as well as more reliably limiting invalid references to locals from nested scopes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124721 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp b/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp index 1aaaa68..561777c 100644 --- a/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
@@ -56,7 +56,7 @@ void UndefCapturedBlockVarChecker::PostVisitBlockExpr(CheckerContext &C, const BlockExpr *BE) { - if (!BE->hasBlockDeclRefExprs()) + if (!BE->getBlockDecl()->hasCaptures()) return; const GRState *state = C.getState();