A little more tweaking with StmtIterator and SizeOfAlignofExpr.  A recent commit actually introduced a regression, not fixed a bug.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57282 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/StmtIterator.cpp b/lib/AST/StmtIterator.cpp
index 1b0e9d5..4688242 100644
--- a/lib/AST/StmtIterator.cpp
+++ b/lib/AST/StmtIterator.cpp
@@ -35,22 +35,25 @@
   p = FindVA(p->getElementType().getTypePtr());
   setVAPtr(p);
 
-  if (!p) {
-    if (inDecl()) {
-      if (VarDecl* VD = dyn_cast<VarDecl>(decl)) 
-        if (VD->Init)
-          return;
-      
-      NextDecl();
-    }
-    else if (inDeclGroup()) {
-      if (VarDecl* VD = dyn_cast<VarDecl>(*DGI)) 
-        if (VD->Init)
-          return;
-      
-      NextDecl();  
-    }
-  } else if (inSizeOfTypeVA()) {
+  if (p)
+    return;
+  
+  if (inDecl()) {
+    if (VarDecl* VD = dyn_cast<VarDecl>(decl)) 
+      if (VD->Init)
+        return;
+    
+    NextDecl();
+  }
+  else if (inDeclGroup()) {
+    if (VarDecl* VD = dyn_cast<VarDecl>(*DGI)) 
+      if (VD->Init)
+        return;
+    
+    NextDecl();  
+  }
+  else {
+    assert (inSizeOfTypeVA());
     assert(!decl);
     RawVAPtr = 0;
   }