Let's go with John and Ted's preferred fix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126907 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp
index 18bbbb1..c433639 100644
--- a/lib/Analysis/CFG.cpp
+++ b/lib/Analysis/CFG.cpp
@@ -2774,7 +2774,6 @@
 
 const CXXDestructorDecl *CFGImplicitDtor::getDestructorDecl() const {
   switch (getKind()) {
-    default: assert(0 && "Unknown CFGElement");
     case CFGElement::Invalid:
     case CFGElement::Statement:
     case CFGElement::Initializer:
@@ -2800,6 +2799,8 @@
       // Not yet supported.
       return 0;
   }
+  assert(0 && "getKind() returned bogus value");
+  return 0;
 }
 
 bool CFGImplicitDtor::isNoReturn() const {