diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-12-23 23:37:10 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-12-23 23:37:10 +0000 |
commit | bff984432768612049273832be67bb0fa5478b3f (patch) | |
tree | ce68d1d084ae025382b2e18d007fd4c8ba438c70 /clang/lib/Analysis/CFG.cpp | |
parent | 1495b5f88756cbfe34171fd492d79c5759441b89 (diff) | |
download | bcm5719-llvm-bff984432768612049273832be67bb0fa5478b3f.tar.gz bcm5719-llvm-bff984432768612049273832be67bb0fa5478b3f.zip |
Tidy up FindSubExprAssignments to not deference the child_iterator multiple times.
llvm-svn: 92087
Diffstat (limited to 'clang/lib/Analysis/CFG.cpp')
-rw-r--r-- | clang/lib/Analysis/CFG.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/clang/lib/Analysis/CFG.cpp b/clang/lib/Analysis/CFG.cpp index 8f2a5719f68..023ac2b7e6e 100644 --- a/clang/lib/Analysis/CFG.cpp +++ b/clang/lib/Analysis/CFG.cpp @@ -1548,17 +1548,20 @@ namespace { typedef llvm::DenseMap<const Stmt*,unsigned> BlkExprMapTy; } -static void FindSubExprAssignments(Stmt* Terminator, llvm::SmallPtrSet<Expr*,50>& Set) { - if (!Terminator) +static void FindSubExprAssignments(Stmt *S, + llvm::SmallPtrSet<Expr*,50>& Set) { + if (!S) return; - for (Stmt::child_iterator I=Terminator->child_begin(), E=Terminator->child_end(); I!=E; ++I) { - if (!*I) continue; - - if (BinaryOperator* B = dyn_cast<BinaryOperator>(*I)) + for (Stmt::child_iterator I=S->child_begin(), E=S->child_end(); I!=E; ++I) { + Stmt *child = *I; + if (!child) + continue; + + if (BinaryOperator* B = dyn_cast<BinaryOperator>(child)) if (B->isAssignmentOp()) Set.insert(B); - FindSubExprAssignments(*I, Set); + FindSubExprAssignments(child, Set); } } |