]> granicus.if.org Git - clang/commitdiff
Remove unnecessary default cases in switches over enums.
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 17 Jan 2012 02:30:50 +0000 (02:30 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 17 Jan 2012 02:30:50 +0000 (02:30 +0000)
This allows -Wswitch-enum to find switches that need updating when these enums are modified.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148281 91177308-0d34-0410-b5e6-96231b3b80d8

37 files changed:
include/clang/AST/DeclVisitor.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/StmtVisitor.h
include/clang/AST/TypeVisitor.h
include/clang/Sema/DeclSpec.h
lib/AST/ASTContext.cpp
lib/AST/DeclBase.cpp
lib/AST/DeclCXX.cpp
lib/AST/DumpXML.cpp
lib/AST/Expr.cpp
lib/AST/TypePrinter.cpp
lib/Basic/DiagnosticIDs.cpp
lib/CodeGen/CGBuiltin.cpp
lib/CodeGen/CGObjCGNU.cpp
lib/CodeGen/CGObjCMac.cpp
lib/Driver/Option.cpp
lib/Frontend/LangStandards.cpp
lib/Frontend/LogDiagnosticPrinter.cpp
lib/Frontend/PrintPreprocessedOutput.cpp
lib/FrontendTool/ExecuteCompilerInvocation.cpp
lib/Index/ASTLocation.cpp
lib/Parse/ParseExprCXX.cpp
lib/Sema/SemaAttr.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaType.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
lib/StaticAnalyzer/Checkers/MallocChecker.cpp
lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
lib/StaticAnalyzer/Core/SVals.cpp
lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
tools/libclang/CXType.cpp
utils/TableGen/TableGen.cpp

index b5b6bd42ddb151b72fc321cfd1073e6a108cb6f1..62654b8115fc8e34c4910f493738bdff025bf71d 100644 (file)
@@ -30,12 +30,12 @@ class DeclVisitor {
 public:
   RetTy Visit(Decl *D) {
     switch (D->getKind()) {
-      default: llvm_unreachable("Decl that isn't part of DeclNodes.inc!");
 #define DECL(DERIVED, BASE) \
       case Decl::DERIVED: DISPATCH(DERIVED##Decl, DERIVED##Decl);
 #define ABSTRACT_DECL(DECL)
 #include "clang/AST/DeclNodes.inc"
     }
+    llvm_unreachable("Decl that isn't part of DeclNodes.inc!");
   }
 
   // If the implementation chooses not to implement a certain visit
index d22d67dbc2c630f764b36a805e47dc517b279bca..7aa43ad54499a43eda1b5817edb198c0628688b6 100644 (file)
@@ -1357,8 +1357,6 @@ bool RecursiveASTVisitor<Derived>::TraverseFunctionInstantiations(
     case TSK_Undeclared:           // Declaration of the template definition.
     case TSK_ExplicitSpecialization:
       break;
-    default:
-      llvm_unreachable("Unknown specialization kind.");
     }
   }
 
index 48a0123608c9c78387ac50b77d073a756688387d..38c4c0220e11538fb66cadbb5f6517c389f4b427 100644 (file)
@@ -42,7 +42,6 @@ public:
     // below.
     if (PTR(BinaryOperator) BinOp = dyn_cast<BinaryOperator>(S)) {
       switch (BinOp->getOpcode()) {
-      default: llvm_unreachable("Unknown binary operator!");
       case BO_PtrMemD:   DISPATCH(BinPtrMemD,   BinaryOperator);
       case BO_PtrMemI:   DISPATCH(BinPtrMemI,   BinaryOperator);
       case BO_Mul:       DISPATCH(BinMul,       BinaryOperator);
@@ -80,7 +79,6 @@ public:
       }
     } else if (PTR(UnaryOperator) UnOp = dyn_cast<UnaryOperator>(S)) {
       switch (UnOp->getOpcode()) {
-      default: llvm_unreachable("Unknown unary operator!");
       case UO_PostInc:   DISPATCH(UnaryPostInc,   UnaryOperator);
       case UO_PostDec:   DISPATCH(UnaryPostDec,   UnaryOperator);
       case UO_PreInc:    DISPATCH(UnaryPreInc,    UnaryOperator);
index 9eebc4b9ea070aaa4a268c3ed7dedf7ca0b19b58..242aa586d510af2363d94486673a2bf79a1dd619 100644 (file)
@@ -28,11 +28,11 @@ public:
   RetTy Visit(const Type *T) {
     // Top switch stmt: dispatch to VisitFooType for each FooType.
     switch (T->getTypeClass()) {
-    default: llvm_unreachable("Unknown type class!");
 #define ABSTRACT_TYPE(CLASS, PARENT)
 #define TYPE(CLASS, PARENT) case Type::CLASS: DISPATCH(CLASS##Type);
 #include "clang/AST/TypeNodes.def"
     }
+    llvm_unreachable("Unknown type class!");
   }
 
   // If the implementation chooses not to implement a certain visit method, fall
index edc6fd3bc90786adb42695902143fbda4654f035..6a180e85ae6c7eecdbb49ffd33816979deec492f 100644 (file)
@@ -1250,7 +1250,6 @@ struct DeclaratorChunk {
 
   void destroy() {
     switch (Kind) {
-    default: llvm_unreachable("Unknown decl type!");
     case DeclaratorChunk::Function:      return Fun.destroy();
     case DeclaratorChunk::Pointer:       return Ptr.destroy();
     case DeclaratorChunk::BlockPointer:  return Cls.destroy();
index 048d9e873edc3502d329d0343a9f1145b36fe665..e145eecf425711c29c160b923f2dcff7cdaf09f6 100644 (file)
@@ -3569,7 +3569,7 @@ QualType ASTContext::getFloatingTypeOfSizeWithinDomain(QualType Size,
   FloatingRank EltRank = getFloatingRank(Size);
   if (Domain->isComplexType()) {
     switch (EltRank) {
-    default: llvm_unreachable("getFloatingRank(): illegal value for rank");
+    case HalfRank: llvm_unreachable("Complex half is not supported");
     case FloatRank:      return FloatComplexTy;
     case DoubleRank:     return DoubleComplexTy;
     case LongDoubleRank: return LongDoubleComplexTy;
@@ -3578,11 +3578,12 @@ QualType ASTContext::getFloatingTypeOfSizeWithinDomain(QualType Size,
 
   assert(Domain->isRealFloatingType() && "Unknown domain!");
   switch (EltRank) {
-  default: llvm_unreachable("getFloatingRank(): illegal value for rank");
+  case HalfRank: llvm_unreachable("Half ranks are not valid here");
   case FloatRank:      return FloatTy;
   case DoubleRank:     return DoubleTy;
   case LongDoubleRank: return LongDoubleTy;
   }
+  llvm_unreachable("getFloatingRank(): illegal value for rank");
 }
 
 /// getFloatingTypeOrder - Compare the rank of the two specified floating
index 47d2def39634c6fcd8039261b653ed943f23d879..3763ebd2f7d79c66f0f3c740a8bd97b9ef386d90 100644 (file)
@@ -119,7 +119,6 @@ void Decl::PrintStats() {
 
 void Decl::add(Kind k) {
   switch (k) {
-  default: llvm_unreachable("Declaration not in DeclNodes.inc!");
 #define DECL(DERIVED, BASE) case DERIVED: ++n##DERIVED##s; break;
 #define ABSTRACT_DECL(DECL)
 #include "clang/AST/DeclNodes.inc"
index 3f4d2e4c71d548bc47e06831bcb90487501be899..b09b6720955322dcfe4568ac29c7d04ab1b805b8 100644 (file)
@@ -1941,7 +1941,6 @@ StaticAssertDecl *StaticAssertDecl::CreateDeserialized(ASTContext &C,
 
 static const char *getAccessName(AccessSpecifier AS) {
   switch (AS) {
-    default:
     case AS_none:
       llvm_unreachable("Invalid access specifier!");
     case AS_public:
@@ -1951,6 +1950,7 @@ static const char *getAccessName(AccessSpecifier AS) {
     case AS_protected:
       return "protected";
   }
+  llvm_unreachable("Invalid access specifier!");
 }
 
 const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
index 34c6a8f787fee1bf385067921785b2fa9bd57f96..9dd5a010f08ce10a7eb6dffae2bdf2467f936900 100644 (file)
@@ -66,7 +66,6 @@ template <class Impl> struct XMLDeclVisitor {
 
   void dispatch(Decl *D) {
     switch (D->getKind()) {
-      default: llvm_unreachable("Decl that isn't part of DeclNodes.inc!");
 #define DECL(DERIVED, BASE) \
       case Decl::DERIVED: \
         DISPATCH(dispatch##DERIVED##DeclAttrs, DERIVED##Decl); \
@@ -121,7 +120,6 @@ template <class Impl> struct XMLTypeVisitor {
 
   void dispatch(Type *T) {
     switch (T->getTypeClass()) {
-      default: llvm_unreachable("Type that isn't part of TypeNodes.inc!");
 #define TYPE(DERIVED, BASE) \
       case Type::DERIVED: \
         DISPATCH(dispatch##DERIVED##TypeAttrs, DERIVED##Type); \
index bffcccc6066b1efee3790fea920a12b5ee701424..7fc070031154f7002c1b31d02f2397e4ec5f998a 100644 (file)
@@ -652,7 +652,6 @@ getLocationOfByte(unsigned ByteNo, const SourceManager &SM,
 /// corresponds to, e.g. "sizeof" or "[pre]++".
 const char *UnaryOperator::getOpcodeStr(Opcode Op) {
   switch (Op) {
-  default: llvm_unreachable("Unknown unary operator");
   case UO_PostInc: return "++";
   case UO_PostDec: return "--";
   case UO_PreInc:  return "++";
@@ -667,6 +666,7 @@ const char *UnaryOperator::getOpcodeStr(Opcode Op) {
   case UO_Imag:    return "__imag";
   case UO_Extension: return "__extension__";
   }
+  llvm_unreachable("Unknown unary operator");
 }
 
 UnaryOperatorKind
index e11e5065728c4d831e2e7beb49696277fda8cc0b..5dd42721d31ddd7aaa6d22659c69329430794035 100644 (file)
@@ -427,8 +427,7 @@ void TypePrinter::printFunctionProto(const FunctionProtoType *T,
 
   FunctionType::ExtInfo Info = T->getExtInfo();
   switch(Info.getCC()) {
-  case CC_Default:
-  default: break;
+  case CC_Default: break;
   case CC_C:
     S += " __attribute__((cdecl))";
     break;
index 1f7777873cfabefd39e2be03dc59dee44b873894..b3c4d033c289e85b5b4c33fbbacaefc4e7554327 100644 (file)
@@ -532,7 +532,6 @@ DiagnosticIDs::getDiagnosticLevel(unsigned DiagID, unsigned DiagClass,
     (diag::kind)DiagID);
 
   switch (MappingInfo.getMapping()) {
-  default: llvm_unreachable("Unknown mapping!");
   case diag::MAP_IGNORE:
     Result = DiagnosticIDs::Ignored;
     break;
index 3e5a6772ebb72067e38d7008d3e2a401a6f16d40..61fce424a8dd8b4a7bb9f773a201005e1add34d4 100644 (file)
@@ -1191,7 +1191,6 @@ Value *CodeGenFunction::EmitTargetBuiltinExpr(unsigned BuiltinID,
 static llvm::VectorType *GetNeonType(LLVMContext &C, NeonTypeFlags TypeFlags) {
   int IsQuad = TypeFlags.isQuad();
   switch (TypeFlags.getEltType()) {
-  default: break;
   case NeonTypeFlags::Int8:
   case NeonTypeFlags::Poly8:
     return llvm::VectorType::get(llvm::Type::getInt8Ty(C), 8 << IsQuad);
@@ -1205,8 +1204,8 @@ static llvm::VectorType *GetNeonType(LLVMContext &C, NeonTypeFlags TypeFlags) {
     return llvm::VectorType::get(llvm::Type::getInt64Ty(C), 1 << IsQuad);
   case NeonTypeFlags::Float32:
     return llvm::VectorType::get(llvm::Type::getFloatTy(C), 2 << IsQuad);
-  };
-  return 0;
+  }
+  llvm_unreachable("Invalid NeonTypeFlags element type!");
 }
 
 Value *CodeGenFunction::EmitNeonSplat(Value *V, Constant *C) {
index 818186c90137d8fa389e5687ed229b10b2ee522b..140e9242a51287b70b8c911072c7dbe3af5a2bd0 100644 (file)
@@ -1191,8 +1191,6 @@ CGObjCGNU::GenerateMessageSend(CodeGenFunction &CGF,
   // functions.  These are not supported on all platforms (or all runtimes on a
   // given platform), so we 
   switch (CGM.getCodeGenOpts().getObjCDispatchMethod()) {
-    default:
-      llvm_unreachable("Invalid dispatch method!");
     case CodeGenOptions::Legacy:
       imp = LookupIMP(CGF, Receiver, cmd, node);
       break;
index 3ea7e4b38c948661fc8b9b72d06a6d4c50598269..3171d988d3388f6f61e552dc7faf961ad9c13ca1 100644 (file)
@@ -4756,8 +4756,6 @@ bool CGObjCNonFragileABIMac::isVTableDispatchedSelector(Selector Sel) {
   // At various points we've experimented with using vtable-based
   // dispatch for all methods.
   switch (CGM.getCodeGenOpts().getObjCDispatchMethod()) {
-  default:
-    llvm_unreachable("Invalid dispatch method!");
   case CodeGenOptions::Legacy:
     return false;
   case CodeGenOptions::NonLegacy:
index ee1963fd331dc63c2d526b3ce4c0fe9b761dc756..03360ea2d89af3c08dad87908870c28c04e58e26 100644 (file)
@@ -61,8 +61,6 @@ Option::~Option() {
 void Option::dump() const {
   llvm::errs() << "<";
   switch (Kind) {
-  default:
-    llvm_unreachable("Invalid kind");
 #define P(N) case N: llvm::errs() << #N; break
     P(GroupClass);
     P(InputClass);
index abb521ba27f2ea52d952bb13a4c63ac65d26c6d7..f86a574c30ab93e00a6fe41d9f81cb38e05d7851 100644 (file)
@@ -19,14 +19,13 @@ using namespace clang::frontend;
 
 const LangStandard &LangStandard::getLangStandardForKind(Kind K) {
   switch (K) {
-  default:
-    llvm_unreachable("Invalid language kind!");
   case lang_unspecified:
     llvm::report_fatal_error("getLangStandardForKind() on unspecified kind");
 #define LANGSTANDARD(id, name, desc, features) \
     case lang_##id: return Lang_##id;
 #include "clang/Frontend/LangStandards.def"
   }
+  llvm_unreachable("Invalid language kind!");
 }
 
 const LangStandard *LangStandard::getLangStandardForName(StringRef Name) {
index 8b585be90ec431da9feccc6f22db167084d452ac..8eb46732b990b6b10bac467b5ada29e88be5703d 100644 (file)
@@ -12,6 +12,7 @@
 #include "clang/Basic/SourceManager.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/ErrorHandling.h"
 using namespace clang;
 
 LogDiagnosticPrinter::LogDiagnosticPrinter(raw_ostream &os,
@@ -28,14 +29,13 @@ LogDiagnosticPrinter::~LogDiagnosticPrinter() {
 
 static StringRef getLevelName(DiagnosticsEngine::Level Level) {
   switch (Level) {
-  default:
-    return "<unknown>";
   case DiagnosticsEngine::Ignored: return "ignored";
   case DiagnosticsEngine::Note:    return "note";
   case DiagnosticsEngine::Warning: return "warning";
   case DiagnosticsEngine::Error:   return "error";
   case DiagnosticsEngine::Fatal:   return "fatal error";
   }
+  llvm_unreachable("Invalid DiagnosticsEngine level!");
 }
 
 // Escape XML characters inside the raw string.
index d52b25bf0bd2c55ae5a10c7f3f934d0677fa743a..5e76a79ae14622c24f249b676a86d7dc35a80c60 100644 (file)
@@ -389,7 +389,6 @@ PragmaDiagnostic(SourceLocation Loc, StringRef Namespace,
   MoveToLine(Loc);
   OS << "#pragma " << Namespace << " diagnostic ";
   switch (Map) {
-  default: llvm_unreachable("unexpected diagnostic kind");
   case diag::MAP_WARNING:
     OS << "warning";
     break;
index fec12e3b11db2fc7f9e820691bc202218e29aa9b..2782a85beb6de82e90c657f830d7cc78df9f11b5 100644 (file)
@@ -32,9 +32,6 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) {
   using namespace clang::frontend;
 
   switch (CI.getFrontendOpts().ProgramAction) {
-  default:
-    llvm_unreachable("Invalid program action!");
-
   case ASTDump:                return new ASTDumpAction();
   case ASTDumpXML:             return new ASTDumpXMLAction();
   case ASTPrint:               return new ASTPrintAction();
@@ -81,6 +78,7 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) {
   case RunAnalysis:            return new ento::AnalysisAction();
   case RunPreprocessorOnly:    return new PreprocessOnlyAction();
   }
+  llvm_unreachable("Invalid program action!");
 }
 
 static FrontendAction *CreateFrontendAction(CompilerInstance &CI) {
index 66b393eb6571d5f50489de38d103a6d02806dfa9..a8537b1a1a057e4a93d53cdec95556210eb1923d 100644 (file)
@@ -41,7 +41,6 @@ Decl *ASTLocation::getReferencedDecl() {
     return 0;
 
   switch (getKind()) {
-  default: llvm_unreachable("Invalid Kind");
   case N_Type:
     return 0;
   case N_Decl:
@@ -60,7 +59,6 @@ SourceRange ASTLocation::getSourceRange() const {
     return SourceRange();
 
   switch (getKind()) {
-  default: llvm_unreachable("Invalid Kind");
   case N_Decl:
     return D->getSourceRange();
   case N_Stmt:
index cad0a4ae6c19af5041b82c7a6af2c6133c54b51e..f1cedfebfde12b200253a08800e141bb03933b86 100644 (file)
@@ -2463,8 +2463,6 @@ ExprResult Parser::ParseArrayTypeTrait() {
     return Actions.ActOnArrayTypeTrait(ATT, Loc, Ty.get(), DimExpr.get(),
                                        T.getCloseLocation());
   }
-  default:
-    break;
   }
   return ExprError();
 }
index 77410db01f5804d55fc2bdabe2a75b1ab37bb45a..6aae8db391452c747fda6f6198d4103ffef28b7d 100644 (file)
@@ -263,9 +263,6 @@ void Sema::ActOnPragmaPack(PragmaPackKind Kind, IdentifierInfo *Name,
         Context->setAlignment(AlignmentVal);
     }
     break;
-
-  default:
-    llvm_unreachable("Invalid #pragma pack kind.");
   }
 }
 
index a8dc75d0dfb5d8ca84b9cd341af3ca8e2d5dc967..6196ea3f6cb46698d43a77dec0c605708866d8df 100644 (file)
@@ -291,7 +291,6 @@ DeclSpec::TST Sema::isTagName(IdentifierInfo &II, Scope *S) {
   if (R.getResultKind() == LookupResult::Found)
     if (const TagDecl *TD = R.getAsSingle<TagDecl>()) {
       switch (TD->getTagKind()) {
-      default:         return DeclSpec::TST_unspecified;
       case TTK_Struct: return DeclSpec::TST_struct;
       case TTK_Union:  return DeclSpec::TST_union;
       case TTK_Class:  return DeclSpec::TST_class;
index cdba6208dbc7fc7c101b77c1b3de7b341f20aa41..43bdf3f93058d03d97af881b65f6f9cce9ca426c 100644 (file)
@@ -1055,8 +1055,6 @@ static void handleOwnershipAttr(Sema &S, Decl *D, const AttributeList &AL) {
       }
       break;
     }
-    default:
-      llvm_unreachable("Unknown ownership attribute");
     } // switch
 
     // Check we don't have a conflict with another ownership attribute.
index 1655c9105fc0d7fd6715b78cd0d78fa5fbe1fa65..741ca9edd055880882aaeb7c4275d61df7d673be 100644 (file)
@@ -9163,7 +9163,6 @@ bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy,
   bool MayHaveFunctionDiff = false;
 
   switch (ConvTy) {
-  default: llvm_unreachable("Unknown conversion type");
   case Compatible: return false;
   case PointerToInt:
     DiagKind = diag::ext_typecheck_convert_pointer_int;
index a4282e294626fb776a0e26f3b5a359bdbec213a7..cd8505932b4e656fe3d1ceae1f729d40c2881b4b 100644 (file)
@@ -2642,7 +2642,6 @@ void InitializationSequence::AddDerivedToBaseCastStep(QualType BaseType,
   case VK_RValue: S.Kind = SK_CastDerivedToBaseRValue; break;
   case VK_XValue: S.Kind = SK_CastDerivedToBaseXValue; break;
   case VK_LValue: S.Kind = SK_CastDerivedToBaseLValue; break;
-  default: llvm_unreachable("No such category");
   }
   S.Type = BaseType;
   Steps.push_back(S);
index 654bed270bfe838666105e077687634b92037eb3..0d30749266775561172892610702dbfeec2f9da6 100644 (file)
@@ -1972,7 +1972,6 @@ static TypeSourceInfo *GetFullTypeForDeclarator(TypeProcessingState &state,
     state.setCurrentChunkIndex(chunkIndex);
     DeclaratorChunk &DeclType = D.getTypeObject(chunkIndex);
     switch (DeclType.Kind) {
-    default: llvm_unreachable("Unknown decltype!");
     case DeclaratorChunk::Paren:
       T = S.BuildParenType(T);
       break;
index 8becd35d5463c6f281225d879231ba06926c929a..7fc54bbba4161198882ece61cbcaef665db3533b 100644 (file)
@@ -509,7 +509,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
   FD->EndRangeLoc = ReadSourceLocation(Record, Idx);
 
   switch ((FunctionDecl::TemplatedKind)Record[Idx++]) {
-  default: llvm_unreachable("Unhandled TemplatedKind!");
   case FunctionDecl::TK_NonTemplate:
     mergeRedeclarable(FD, Redecl);      
     break;
@@ -1125,8 +1124,6 @@ void ASTDeclReader::VisitCXXRecordDecl(CXXRecordDecl *D) {
     CXXRecNotTemplate = 0, CXXRecTemplate, CXXRecMemberSpecialization
   };
   switch ((CXXRecKind)Record[Idx++]) {
-  default:
-    llvm_unreachable("Out of sync with ASTDeclWriter::VisitCXXRecordDecl?");
   case CXXRecNotTemplate:
     break;
   case CXXRecTemplate:
index 8829dc630c1e2271bc1c0c1ad6fdad637a445af3..4e8a4cf0d69063500a7f40d8e94d3e3a0b1b1b36 100644 (file)
@@ -324,7 +324,6 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
 
   Record.push_back(D->getTemplatedKind());
   switch (D->getTemplatedKind()) {
-  default: llvm_unreachable("Unhandled TemplatedKind!");
   case FunctionDecl::TK_NonTemplate:
     break;
   case FunctionDecl::TK_FunctionTemplate:
index 448c75003925ddd02a72f2b53c0e7baaa942f963..75a93eff4aa370f2739272c68aa5976357c4a953 100644 (file)
@@ -109,9 +109,6 @@ public:
     const char *BugType = 0;
 
     switch (dsk) {
-      default:
-        llvm_unreachable("Impossible dead store type.");
-
       case DeadInit:
         BugType = "Dead initialization";
         os << "Value stored to '" << *V
index ea42da40673dba8fe52650e7c6c1fc5447922acd..3969ee0ef84451a04401f4df12f63b3267d7f2ec 100644 (file)
@@ -191,8 +191,6 @@ bool MallocChecker::evalCall(const CallExpr *CE, CheckerContext &C) const {
         rv = true;
         break;
       }
-      default:
-        break;
       }
     }
   }
index 8ba1edbb414dd99973ff1f5cb1dc6aa813cbaf18..59d0495d0abae9c220170584e3c6436c88a2a344 100644 (file)
@@ -1099,7 +1099,6 @@ RetainSummaryManager::getUnarySummary(const FunctionType* FT,
     case cfretain: Effect = IncRef; break;
     case cfrelease: Effect = DecRef; break;
     case cfmakecollectable: Effect = MakeCollectable; break;
-    default: llvm_unreachable("Not a supported unary function.");
   }
 
   ScratchArgs = AF.add(ScratchArgs, 0, Effect);
index 27d6e3eed191986d12dab18ad9a3b8d2f5dc2510..64c1110abce307bfebbe19f0e780235eba79a1b9 100644 (file)
@@ -245,8 +245,6 @@ void SVal::dumpToStream(raw_ostream &os) const {
     case UndefinedKind:
       os << "Undefined";
       break;
-    default:
-      assert (false && "Invalid SVal.");
   }
 }
 
index 049d419b4bde82c894918fed249f8dc4b2342989..e13b86c1c1daae3dbdb634ed9ac1f870d3a6a5d3 100644 (file)
@@ -340,8 +340,6 @@ static void RunPathSensitiveChecks(AnalysisConsumer &C, AnalysisManager &mgr,
                                    Decl *D) {
 
   switch (mgr.getLangOptions().getGC()) {
-  default:
-    llvm_unreachable("Invalid GC mode.");
   case LangOptions::NonGC:
     ActionExprEngine(C, mgr, D, false);
     break;
index 52e77bda08e55f7d1577d60a80de1ff25d50e102..eba0405994ebe4b56848c8a96ad747a470cb1e3e 100644 (file)
@@ -443,8 +443,6 @@ CXCallingConv clang_getFunctionTypeCallingConv(CXType X) {
       TCALLINGCONV(X86Pascal);
       TCALLINGCONV(AAPCS);
       TCALLINGCONV(AAPCS_VFP);
-    default:
-      return CXCallingConv_Unexposed;
     }
 #undef TCALLINGCONV
   }
index 56b28db4e28426b154599479be8a47f6cbe565ea..1d5e28d936ff8b7713b4528cdfc6f9d73f4d2ed7 100644 (file)
@@ -156,9 +156,6 @@ public:
     case GenArmNeonTest:
       NeonEmitter(Records).runTests(OS);
       break;
-    default:
-      assert(1 && "Invalid Action");
-      return true;
     }
 
     return false;