From: Craig Topper Date: Wed, 18 Jun 2014 05:13:13 +0000 (+0000) Subject: Replace some assert(0)'s with llvm_unreachable. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebcdb1ed2f435e48584e4fad5a96a3d6abb1406f;p=clang Replace some assert(0)'s with llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211143 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/ASTDiagnostic.cpp b/lib/AST/ASTDiagnostic.cpp index dbc7ace5e2..6919ee2e4a 100644 --- a/lib/AST/ASTDiagnostic.cpp +++ b/lib/AST/ASTDiagnostic.cpp @@ -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(ArgExpr)->getDecl(); default: - assert(0 && "Unexpected template argument kind"); + llvm_unreachable("Unexpected template argument kind"); } DeclRefExpr *DRE = dyn_cast(ArgExpr); if (!DRE) { diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index 4d92fb0a83..478c34f047 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -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: diff --git a/utils/TableGen/ClangAttrEmitter.cpp b/utils/TableGen/ClangAttrEmitter.cpp index d7ab4fa1b1..bb3b67f356 100644 --- a/utils/TableGen/ClangAttrEmitter.cpp +++ b/utils/TableGen/ClangAttrEmitter.cpp @@ -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"))