Revert "Fix crash in CFGBuilder involving implicit destructor calls and gotos jumping after an object was declared.  Fixes PR 10620."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137459 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp
index ea126a9..1edb328 100644
--- a/lib/Analysis/CFG.cpp
+++ b/lib/Analysis/CFG.cpp
@@ -191,8 +191,8 @@
   int D = 0;
   const_iterator F = *this;
   while (F.Scope != L.Scope) {
-    if (F == const_iterator())
-      return D;
+    assert (F != const_iterator()
+        && "L iterator is not reachable from F iterator.");
     D += F.VarIter;
     F = F.Scope->Prev;
   }
@@ -816,12 +816,10 @@
 /// performed in place specified with iterator.
 void CFGBuilder::insertAutomaticObjDtors(CFGBlock* Blk, CFGBlock::iterator I,
     LocalScope::const_iterator B, LocalScope::const_iterator E, Stmt* S) {
-  if (int Cnt = B.distance(E)) {
-    BumpVectorContext& C = cfg->getBumpVectorContext();
-    I = Blk->beginAutomaticObjDtorsInsert(I, Cnt, C);
-    while (B != E)
-      I = Blk->insertAutomaticObjDtor(I, *B++, S);
-  }
+  BumpVectorContext& C = cfg->getBumpVectorContext();
+  I = Blk->beginAutomaticObjDtorsInsert(I, B.distance(E), C);
+  while (B != E)
+    I = Blk->insertAutomaticObjDtor(I, *B++, S);
 }
 
 /// appendAutomaticObjDtors - Append destructor CFGElements for variables with
diff --git a/test/SemaCXX/cfg.cpp b/test/SemaCXX/cfg.cpp
deleted file mode 100644
index 93cf90b..0000000
--- a/test/SemaCXX/cfg.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -Wuninitialized -fsyntax-only %s
-
-// Test that the CFG builder handles destructors and gotos jumping between
-// scope boundaries.  Previously this crashed (PR 10620).
-struct S_10620 {
-  S_10620(const S_10620 &x);
-  ~S_10620();
-};
-void PR10620(int x, const S_10620& s) {
-  if (x) {
-    goto done;
-  }
-  const S_10620 s2(s);
-done:
-  ;
-}
-void PR10620_2(int x, const S_10620& s) {
-  if (x)
-    goto done;
-  const S_10620 s2(s);
-done:
-  ;
-}
\ No newline at end of file