]> granicus.if.org Git - clang/commitdiff
Tidy up FindSubExprAssignments to not deference the child_iterator multiple times.
authorTed Kremenek <kremenek@apple.com>
Wed, 23 Dec 2009 23:37:10 +0000 (23:37 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 23 Dec 2009 23:37:10 +0000 (23:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92087 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFG.cpp

index 8f2a5719f68ba1d3613f452dfc4191bd4fb4fe2a..023ac2b7e6ee832015bd00ee1ce997402f512a01 100644 (file)
@@ -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);
   }
 }