Replace some assert(0)'s with llvm_unreachable.
authorCraig Topper <craig.topper@gmail.com>
Wed, 18 Jun 2014 05:13:13 +0000 (05:13 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 18 Jun 2014 05:13:13 +0000 (05:13 +0000)
llvm-svn: 211143

clang/lib/AST/ASTDiagnostic.cpp
clang/lib/Sema/Sema.cpp
clang/utils/TableGen/ClangAttrEmitter.cpp

index dbc7ace..6919ee2 100644 (file)
@@ -1132,7 +1132,7 @@ class TemplateDiff {
           ArgExpr = Iter.getDesugar().getAsExpr();
           return ArgExpr->EvaluateKnownConstInt(Context);
         default:
-          assert(0 && "Unexpected template argument kind");
+          llvm_unreachable("Unexpected template argument kind");
       }
     return ArgExpr->EvaluateKnownConstInt(Context);
   }
@@ -1150,7 +1150,7 @@ class TemplateDiff {
           ArgExpr = Iter.getDesugar().getAsExpr();
           return cast<DeclRefExpr>(ArgExpr)->getDecl();
         default:
-          assert(0 && "Unexpected template argument kind");
+          llvm_unreachable("Unexpected template argument kind");
       }
     DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(ArgExpr);
     if (!DRE) {
index 4d92fb0..478c34f 100644 (file)
@@ -313,7 +313,8 @@ ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
   if (VK == VK_RValue && !E->isRValue()) {
     switch (Kind) {
     default:
-      assert(0 && "can't implicitly cast lvalue to rvalue with this cast kind");
+      llvm_unreachable("can't implicitly cast lvalue to rvalue with this cast "
+                       "kind");
     case CK_LValueToRValue:
     case CK_ArrayToPointerDecay:
     case CK_FunctionToPointerDecay:
index d7ab4fa..bb3b67f 100644 (file)
@@ -1671,8 +1671,7 @@ void EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS) {
 
   OS << "  switch (Kind) {\n";
   OS << "  default:\n";
-  OS << "    assert(0 && \"Unknown attribute!\");\n";
-  OS << "    break;\n";
+  OS << "    llvm_unreachable(\"Unknown attribute!\");\n";
   for (const auto *Attr : Attrs) {
     const Record &R = *Attr;
     if (!R.getValueAsBit("ASTNode"))