]> granicus.if.org Git - clang/commitdiff
Removing a bunch of dead returns/breaks after llvm_unreachables.
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 23 Sep 2011 20:26:49 +0000 (20:26 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 23 Sep 2011 20:26:49 +0000 (20:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8

61 files changed:
include/clang/AST/Attr.h
include/clang/AST/Stmt.h
lib/AST/ASTContext.cpp
lib/AST/Decl.cpp
lib/AST/DeclBase.cpp
lib/AST/DeclCXX.cpp
lib/AST/DeclObjC.cpp
lib/AST/DeclPrinter.cpp
lib/AST/DeclarationName.cpp
lib/AST/Expr.cpp
lib/AST/ExprConstant.cpp
lib/AST/ItaniumMangle.cpp
lib/AST/MicrosoftMangle.cpp
lib/AST/TemplateBase.cpp
lib/Analysis/FormatString.cpp
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CGExprAgg.cpp
lib/CodeGen/CGExprComplex.cpp
lib/CodeGen/CGExprConstant.cpp
lib/CodeGen/CGExprScalar.cpp
lib/CodeGen/CGObjCMac.cpp
lib/CodeGen/CGStmt.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CodeGenAction.cpp
lib/CodeGen/CodeGenTypes.cpp
lib/CodeGen/TargetInfo.cpp
lib/Driver/Action.cpp
lib/Driver/Driver.cpp
lib/Driver/Option.cpp
lib/Driver/Phases.cpp
lib/Index/ASTLocation.cpp
lib/Parse/ParseExprCXX.cpp
lib/Sema/SemaCXXScopeSpec.cpp
lib/Sema/SemaCodeComplete.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaOverload.cpp
lib/Sema/SemaStmt.cpp
lib/Sema/SemaTemplate.cpp
lib/Sema/SemaTemplateDeduction.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/SemaType.cpp
lib/Sema/TreeTransform.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
lib/StaticAnalyzer/Core/BugReporter.cpp
lib/StaticAnalyzer/Core/CoreEngine.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
lib/StaticAnalyzer/Core/ExprEngineC.cpp
lib/StaticAnalyzer/Core/RegionStore.cpp
lib/StaticAnalyzer/Core/SVals.cpp
lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
lib/StaticAnalyzer/Core/Store.cpp
lib/StaticAnalyzer/Core/SymbolManager.cpp
tools/libclang/CIndexDiagnostic.cpp

index c5b564d616f6c40bda1173943fbbfe9f82104bbb..cf2e3c5d25b6914472a59f448f6d6f4ecf978914 100644 (file)
@@ -68,7 +68,6 @@ protected:
   
   void* operator new(size_t bytes) throw() {
     llvm_unreachable("Attrs cannot be allocated with regular 'new'.");
-    return 0;
   }
   void operator delete(void* data) throw() {
     llvm_unreachable("Attrs cannot be released with regular 'delete'.");
index c186b4896e473a6577ae716dcee236822a7e4e3d..3b0edccf02c6487ce6fa1a7535829e3ff63fbf38 100644 (file)
@@ -108,7 +108,6 @@ public:
 protected:
   void* operator new(size_t bytes) throw() {
     llvm_unreachable("Stmts cannot be allocated with regular 'new'.");
-    return 0;
   }
   void operator delete(void* data) throw() {
     llvm_unreachable("Stmts cannot be released with regular 'delete'.");
index de77cb66cf04f5c4a72b8b2360d0ceda73f40b07..5e0143dc0073c77a68030333065ce936ab8fbeab 100644 (file)
@@ -3219,7 +3219,6 @@ ASTContext::getCanonicalTemplateArgument(const TemplateArgument &Arg) const {
 
   // Silence GCC warning
   llvm_unreachable("Unhandled template argument kind");
-  return TemplateArgument();
 }
 
 NestedNameSpecifier *
@@ -4919,7 +4918,6 @@ CanQualType ASTContext::getFromTargetType(unsigned Type) const {
   }
 
   llvm_unreachable("Unhandled TargetInfo::IntType value");
-  return CanQualType();
 }
 
 //===----------------------------------------------------------------------===//
@@ -5749,13 +5747,11 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
 #define DEPENDENT_TYPE(Class, Base) case Type::Class:
 #include "clang/AST/TypeNodes.def"
     llvm_unreachable("Non-canonical and dependent types shouldn't get here");
-    return QualType();
 
   case Type::LValueReference:
   case Type::RValueReference:
   case Type::MemberPointer:
     llvm_unreachable("C++ should never be in mergeTypes");
-    return QualType();
 
   case Type::ObjCInterface:
   case Type::IncompleteArray:
@@ -5763,7 +5759,6 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
   case Type::FunctionProto:
   case Type::ExtVector:
     llvm_unreachable("Types are eliminated above");
-    return QualType();
 
   case Type::Pointer:
   {
@@ -6015,7 +6010,6 @@ QualType ASTContext::getCorrespondingUnsignedType(QualType T) {
     return UnsignedInt128Ty;
   default:
     llvm_unreachable("Unexpected signed integer type");
-    return QualType();
   }
 }
 
@@ -6476,7 +6470,6 @@ MangleContext *ASTContext::createMangleContext() {
     return createMicrosoftMangleContext(*this, getDiagnostics());
   }
   llvm_unreachable("Unsupported ABI");
-  return 0;
 }
 
 CXXABI::~CXXABI() {}
index 2fdb9654b0a4a83d6e2f8ee88eb2e6b433200a1c..a4608eb81c35adad184f1959aaac2908911bc152 100644 (file)
@@ -1891,7 +1891,6 @@ FunctionDecl::TemplatedKind FunctionDecl::getTemplatedKind() const {
     return TK_DependentFunctionTemplateSpecialization;
 
   llvm_unreachable("Did we miss a TemplateOrSpecialization type?");
-  return TK_NonTemplate;
 }
 
 FunctionDecl *FunctionDecl::getInstantiatedFromMemberFunction() const {
index d1f8b1c7fd8a192b875786bc4c3f800c541ca4a9..60fb7025abeda1508403f526a7b5020ae78c60a7 100644 (file)
@@ -572,7 +572,6 @@ Decl *Decl::castFromDeclContext (const DeclContext *D) {
         return static_cast<NAME##Decl*>(const_cast<DeclContext*>(D));
 #include "clang/AST/DeclNodes.inc"
       llvm_unreachable("a decl that inherits DeclContext isn't handled");
-      return 0;
   }
 }
 
@@ -592,7 +591,6 @@ DeclContext *Decl::castToDeclContext(const Decl *D) {
         return static_cast<NAME##Decl*>(const_cast<Decl*>(D));
 #include "clang/AST/DeclNodes.inc"
       llvm_unreachable("a decl that inherits DeclContext isn't handled");
-      return 0;
   }
 }
 
index b9af8e3a1f11125315f8b044bfd79935df71a365..9addece6f96cafdfcd9235fa1317f925fe530c2b 100644 (file)
@@ -1694,7 +1694,6 @@ static const char *getAccessName(AccessSpecifier AS) {
     default:
     case AS_none:
       llvm_unreachable("Invalid access specifier!");
-      return 0;
     case AS_public:
       return "public";
     case AS_private:
index 68177de70d47f07024cb65224f4fa22a73aec678..97f215fb7f090b5b6083f04aa579df1b1bcfc448 100644 (file)
@@ -550,7 +550,6 @@ ObjCInterfaceDecl *ObjCMethodDecl::getClassInterface() {
 
   assert(!isa<ObjCProtocolDecl>(getDeclContext()) && "It's a protocol method");
   llvm_unreachable("unknown method context");
-  return 0;
 }
 
 //===----------------------------------------------------------------------===//
@@ -782,7 +781,6 @@ const ObjCInterfaceDecl *ObjCIvarDecl::getContainingInterface() const {
   case ObjCCategoryImpl:
   case ObjCProtocol:
     llvm_unreachable("invalid ivar container!");
-    return 0;
 
     // Ivars can only appear in class extension categories.
   case ObjCCategory: {
index a17e14053cbf34b8c6083236b2c29684c595a8c1..8d8ec2f7d2cb9158b3c8434754d35c1c8974e207 100644 (file)
@@ -192,7 +192,7 @@ void DeclPrinter::ProcessDeclGroup(SmallVectorImpl<Decl*>& Decls) {
 
 void DeclPrinter::Print(AccessSpecifier AS) {
   switch(AS) {
-  case AS_none:      llvm_unreachable("No access specifier!"); break;
+  case AS_none:      llvm_unreachable("No access specifier!");
   case AS_public:    Out << "public"; break;
   case AS_protected: Out << "protected"; break;
   case AS_private:   Out << "private"; break;
index 84d4ca94c3dac339b212b01b1e3599134d8d698e..8dfca3e1e7cb40c4766eefaba3ccb07f2e2a7a50 100644 (file)
@@ -194,7 +194,6 @@ DeclarationName::NameKind DeclarationName::getNameKind() const {
 
   // Can't actually get here.
   llvm_unreachable("This should be unreachable!");
-  return Identifier;
 }
 
 bool DeclarationName::isDependentName() const {
@@ -340,7 +339,6 @@ void *DeclarationName::getFETokenInfoAsVoid() const {
   default:
     llvm_unreachable("Declaration name has no FETokenInfo");
   }
-  return 0;
 }
 
 void DeclarationName::setFETokenInfo(void *T) {
@@ -622,5 +620,4 @@ SourceLocation DeclarationNameInfo::getEndLoc() const {
     return NameLoc;
   }
   llvm_unreachable("Unexpected declaration name kind");
-  return SourceLocation();
 }
index ba191a8c80beb7aea01127a0f1f0741a6e50f4b2..6049f289f83dc05ec5229d2bdb27a455db4411e7 100644 (file)
@@ -2503,8 +2503,6 @@ Expr::isNullPointerConstant(ASTContext &Ctx,
     switch (NPC) {
     case NPC_NeverValueDependent:
       llvm_unreachable("Unexpected value dependent expression!");
-      // If the unthinkable happens, fall through to the safest alternative.
-        
     case NPC_ValueDependentIsNull:
       if (isTypeDependent() || getType()->isIntegralType(Ctx))
         return NPCK_ZeroInteger;
index 2d4b07021c2058b86c64689047a5e458da0dcd60..2de72f392e0689d18d4aa71cb243dbcc1fd4992b 100644 (file)
@@ -389,7 +389,6 @@ public:
 
   RetTy VisitStmt(const Stmt *) {
     llvm_unreachable("Expression evaluator should not be called on stmts");
-    return DerivedError(0);
   }
   RetTy VisitExpr(const Expr *E) {
     return DerivedError(E);
index ab6ec4e6a1032ed05652030b5571796f06d172fc..78f149c2df73a5b7509c0126715c84235c5aa378 100644 (file)
@@ -1070,7 +1070,6 @@ void CXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
   case DeclarationName::ObjCOneArgSelector:
   case DeclarationName::ObjCMultiArgSelector:
     llvm_unreachable("Can't mangle Objective-C selector names here!");
-    break;
 
   case DeclarationName::CXXConstructorName:
     if (ND == Structor)
@@ -1125,7 +1124,6 @@ void CXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
 
   case DeclarationName::CXXUsingDirective:
     llvm_unreachable("Can't mangle a using directive name!");
-    break;
   }
 }
 
@@ -1513,7 +1511,6 @@ CXXNameMangler::mangleOperatorName(OverloadedOperatorKind OO, unsigned Arity) {
   case OO_None:
   case NUM_OVERLOADED_OPERATORS:
     llvm_unreachable("Not an overloaded operator");
-    break;
   }
 }
 
index fd90883bdf113665e192ed8f54ec967de2114859..fd99ee189bb8213471fbc9346ffc36b951d0e389 100644 (file)
@@ -333,15 +333,12 @@ MicrosoftCXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
     case DeclarationName::ObjCOneArgSelector:
     case DeclarationName::ObjCMultiArgSelector:
       llvm_unreachable("Can't mangle Objective-C selector names here!");
-      break;
       
     case DeclarationName::CXXConstructorName:
       llvm_unreachable("Can't mangle constructors yet!");
-      break;
       
     case DeclarationName::CXXDestructorName:
       llvm_unreachable("Can't mangle destructors yet!");
-      break;
       
     case DeclarationName::CXXConversionFunctionName:
       // <operator-name> ::= ?B # (cast)
@@ -356,11 +353,9 @@ MicrosoftCXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
     case DeclarationName::CXXLiteralOperatorName:
       // FIXME: Was this added in VS2010? Does MS even know how to mangle this?
       llvm_unreachable("Don't know how to mangle literal operators yet!");
-      break;
       
     case DeclarationName::CXXUsingDirective:
       llvm_unreachable("Can't mangle a using directive name!");
-      break;
   }
 }
 
@@ -514,12 +509,10 @@ void MicrosoftCXXNameMangler::mangleOperatorName(OverloadedOperatorKind OO) {
     
   case OO_Conditional:
     llvm_unreachable("Don't know how to mangle ?:");
-    break;
     
   case OO_None:
   case NUM_OVERLOADED_OPERATORS:
     llvm_unreachable("Not an overloaded operator");
-    break;
   }
 }
 
@@ -714,7 +707,6 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T) {
   case BuiltinType::BoundMember:
     llvm_unreachable(
            "Overloaded and dependent types shouldn't get to name mangling");
-    break;
   case BuiltinType::ObjCId: Out << "PAUobjc_object@@"; break;
   case BuiltinType::ObjCClass: Out << "PAUobjc_class@@"; break;
   case BuiltinType::ObjCSel: Out << "PAUobjc_selector@@"; break;
@@ -723,7 +715,6 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T) {
   case BuiltinType::Char32:
   case BuiltinType::NullPtr:
     llvm_unreachable("Don't know how to mangle this type");
-    break;
   }
 }
 
index b780012557f17a467bab59633077fa78944d1755..0c011a8ef090befb97719a5e90962b152e3e6ed5 100644 (file)
@@ -69,7 +69,6 @@ bool TemplateArgument::isDependent() const {
   switch (getKind()) {
   case Null:
     llvm_unreachable("Should not have a NULL template argument");
-    return false;
 
   case Type:
     return getAsType()->isDependentType();
@@ -108,7 +107,6 @@ bool TemplateArgument::isInstantiationDependent() const {
   switch (getKind()) {
   case Null:
     llvm_unreachable("Should not have a NULL template argument");
-    return false;
     
   case Type:
     return getAsType()->isInstantiationDependentType();
index 3848c2c38f203a4936a460e5c9d7ba767ba7f34a..0f807e21e7fc0e3be7554a46065cfd3202771676 100644 (file)
@@ -210,7 +210,6 @@ bool ArgTypeResult::matchesType(ASTContext &C, QualType argTy) const {
   switch (K) {
     case InvalidTy:
       llvm_unreachable("ArgTypeResult must be valid");
-      return true;
 
     case UnknownTy:
       return true;
@@ -313,7 +312,6 @@ QualType ArgTypeResult::getRepresentativeType(ASTContext &C) const {
   switch (K) {
     case InvalidTy:
       llvm_unreachable("No representative type for Invalid ArgTypeResult");
-      // Fall-through.
     case UnknownTy:
       return QualType();
     case SpecificTy:
index c246c3cb359ac3bbd6eacea18f8e1c71b1cafb9f..665263d55056bcf217bfa7c414e7f0bf0112783f 100644 (file)
@@ -1864,7 +1864,6 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo,
   }
 
   llvm_unreachable("Unhandled ABIArgInfo::Kind");
-  return RValue::get(0);
 }
 
 /* VarArg handling */
index 04bf996acde0ab156f8f292285faa277e5a89b3e..fed79db9b0bdde010069e1adae63d168b0bd5f8c 100644 (file)
@@ -291,16 +291,12 @@ llvm::DIType CGDebugInfo::CreateType(const BuiltinType *BT) {
   switch (BT->getKind()) {
   case BuiltinType::Dependent:
     llvm_unreachable("Unexpected builtin type Dependent");
-    return llvm::DIType();
   case BuiltinType::Overload:
     llvm_unreachable("Unexpected builtin type Overload");
-    return llvm::DIType();
   case BuiltinType::BoundMember:
     llvm_unreachable("Unexpected builtin type BoundMember");
-    return llvm::DIType();
   case BuiltinType::UnknownAny:
     llvm_unreachable("Unexpected builtin type UnknownAny");
-    return llvm::DIType();
   case BuiltinType::NullPtr:
     return DBuilder.
       createNullPtrType(BT->getName(CGM.getContext().getLangOptions()));
index f3996c9659d1f128e9dfaf5e1096bb0d4d7b9da9..60ce3226a8a375b6885690fe6601a846083c9705 100644 (file)
@@ -1795,7 +1795,6 @@ LValue CodeGenFunction::EmitMemberExpr(const MemberExpr *E) {
     return EmitFunctionDeclLValue(*this, E, FD);
 
   llvm_unreachable("Unhandled member declaration!");
-  return LValue();
 }
 
 LValue CodeGenFunction::EmitLValueForBitfield(llvm::Value *BaseValue,
index c321faffcfd30312355df2c27a7c80e295f87a14..28c60a05d05b76950684bb547f08e3ef9251d435 100644 (file)
@@ -320,7 +320,6 @@ void AggExprEmitter::VisitCastExpr(CastExpr *E) {
   case CK_UncheckedDerivedToBase: {
     llvm_unreachable("cannot perform hierarchy conversion in EmitAggExpr: "
                 "should have been unpacked before we got here");
-    break;
   }
 
   case CK_GetObjCProperty: {
index 13c96d4fae565240f19c8965163e69c0ed13c93a..f353fa25237f1264560247834cf65af258500ec4 100644 (file)
@@ -104,7 +104,6 @@ public:
   ComplexPairTy VisitStmt(Stmt *S) {
     S->dump(CGF.getContext().getSourceManager());
     llvm_unreachable("Stmt can't have complex result type!");
-    return ComplexPairTy();
   }
   ComplexPairTy VisitExpr(Expr *S);
   ComplexPairTy VisitParenExpr(ParenExpr *PE) { return Visit(PE->getSubExpr());}
index 2de13a4090d5f3197e8c1089a617da519a50f770..1176eb1f9bf90a451d7a0d7ab6a305e091e89845 100644 (file)
@@ -781,9 +781,6 @@ public:
       return 0;
 
     llvm_unreachable("Unable to handle InitListExpr");
-    // Get rid of control reaches end of void function warning.
-    // Not reached.
-    return 0;
   }
 
   llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E) {
@@ -967,7 +964,6 @@ llvm::Constant *CodeGenModule::EmitConstantExpr(const Expr *E,
     switch (Result.Val.getKind()) {
     case APValue::Uninitialized:
       llvm_unreachable("Constant expressions should be initialized.");
-      return 0;
     case APValue::LValue: {
       llvm::Type *DestTy = getTypes().ConvertTypeForMem(DestType);
       llvm::Constant *Offset =
index 90e123271565c90981b100372f73eb3cb4704f11..264a71403abfdf3178e9ca8ba7a67de863dbf2b8 100644 (file)
@@ -154,7 +154,6 @@ public:
   Value *VisitStmt(Stmt *S) {
     S->dump(CGF.getContext().getSourceManager());
     llvm_unreachable("Stmt can't have complex result type!");
-    return 0;
   }
   Value *VisitExpr(Expr *S);
   
@@ -1264,10 +1263,8 @@ EmitAddConsiderOverflowBehavior(const UnaryOperator *E,
     BinOp.Opcode = BO_Add;
     BinOp.E = E;
     return EmitOverflowCheckedBinOp(BinOp);
-    break;
   }
   llvm_unreachable("Unknown SignedOverflowBehaviorTy");
-  return 0;
 }
 
 llvm::Value *
@@ -2756,7 +2753,6 @@ LValue CodeGenFunction::EmitCompoundAssignmentLValue(
   case BO_Assign:
   case BO_Comma:
     llvm_unreachable("Not valid compound assignment operators");
-    break;
   }
    
   llvm_unreachable("Unhandled compound assignment operator");
index be574b3efeb2f4bded123ceeb96e6b99fd5a23c2..1058886e61233b0e0989859cb1b0d1505ed5a2fd 100644 (file)
@@ -1061,7 +1061,6 @@ public:
   /// class of the given name.
   virtual llvm::GlobalVariable *GetClassGlobal(const std::string &Name) {
     llvm_unreachable("CGObjCMac::GetClassGlobal");
-    return 0;
   }
 };
 
index 3f986bd1cd65097be0d298cfb0684237586f7976..bc34848ccfa2421fb99ad00e097537d7cdd0db1d 100644 (file)
@@ -139,11 +139,9 @@ void CodeGenFunction::EmitStmt(const Stmt *S) {
   case Stmt::ObjCAtCatchStmtClass:
     llvm_unreachable(
                     "@catch statements should be handled by EmitObjCAtTryStmt");
-    break;
   case Stmt::ObjCAtFinallyStmtClass:
     llvm_unreachable(
                   "@finally statements should be handled by EmitObjCAtTryStmt");
-    break;
   case Stmt::ObjCAtThrowStmtClass:
     EmitObjCAtThrowStmt(cast<ObjCAtThrowStmt>(*S));
     break;
index 1a210faa33f9005cb6eae5f1995f1ea9a8344306..f936a9b89de5abda2a3c4c0e39d1fc182df0dc96 100644 (file)
@@ -264,7 +264,6 @@ static BaseOffset ComputeBaseOffset(ASTContext &Context,
   if (!const_cast<CXXRecordDecl *>(DerivedRD)->
       isDerivedFrom(const_cast<CXXRecordDecl *>(BaseRD), Paths)) {
     llvm_unreachable("Class must be derived from the passed in base class!");
-    return BaseOffset();
   }
 
   return ComputeBaseOffset(Context, DerivedRD, Paths.front());
@@ -701,7 +700,6 @@ CharUnits VCallOffsetMap::getVCallOffsetOffset(const CXXMethodDecl *MD) {
   }
   
   llvm_unreachable("Should always find a vcall offset offset!");
-  return CharUnits::Zero();
 }
 
 /// VCallAndVBaseOffsetBuilder - Class for building vcall and vbase offsets.
@@ -1362,7 +1360,6 @@ VTableBuilder::ComputeThisAdjustmentBaseOffset(BaseSubobject Base,
   if (!const_cast<CXXRecordDecl *>(DerivedRD)->
       isDerivedFrom(const_cast<CXXRecordDecl *>(BaseRD), Paths)) {
     llvm_unreachable("Class must be derived from the passed in base class!");
-    return BaseOffset();
   }
 
   // We have to go through all the paths, and see which one leads us to the
index 3251b76742544c5832cb368e1fa21bc2c4ad81aa..f266ba9d3e8a07bcaaea0577f89ed9e797411c7d 100644 (file)
@@ -276,7 +276,6 @@ static raw_ostream *GetOutputStream(CompilerInstance &CI,
   }
 
   llvm_unreachable("Invalid action!");
-  return 0;
 }
 
 ASTConsumer *CodeGenAction::CreateASTConsumer(CompilerInstance &CI,
index 8742f5999b9c81d6bcf27009fcc03317902e0c67..3032f820c66d4cf1e1d665f51f1fd2cbf42bd7a6 100644 (file)
@@ -274,7 +274,6 @@ static llvm::Type *getTypeForFormat(llvm::LLVMContext &VMContext,
   if (&format == &llvm::APFloat::x87DoubleExtended)
     return llvm::Type::getX86_FP80Ty(VMContext);
   llvm_unreachable("Unknown float format!");
-  return 0;
 }
 
 /// ConvertType - Convert the specified type to its LLVM form.
index 02e6a3be38cde22a716899fabafc0f128f01256d..9debf5ef4d982132def6b574c30e074545270216 100644 (file)
@@ -1893,7 +1893,6 @@ ABIArgInfo X86_64ABIInfo::classifyArgumentType(QualType Ty, unsigned &neededInt,
   case X87:
   case ComplexX87:
     llvm_unreachable("Invalid classification for hi word.");
-    break;
 
   case NoClass: break;
 
index a7feed12dbd0862395875f26294a0dd6f464c687..52c0dbb5f1735635dd056b06df6cfdb8baaa5a6d 100644 (file)
@@ -36,7 +36,6 @@ const char *Action::getClassName(ActionClass AC) {
   }
 
   llvm_unreachable("invalid class");
-  return 0;
 }
 
 InputAction::InputAction(const Arg &_Input, types::ID _Type)
index b7d8f68e69f6cf3dda65dce241daaac90945814a..ec9295d6fb71eeaf590599a4d1f5f394f50a2528 100644 (file)
@@ -1114,7 +1114,6 @@ Action *Driver::ConstructPhaseAction(const ArgList &Args, phases::ID Phase,
   }
 
   llvm_unreachable("invalid phase in ConstructPhaseAction");
-  return 0;
 }
 
 bool Driver::IsUsingLTO(const ArgList &Args) const {
index cd93dd832b1ae70ff81f745860b62991cca7ef4d..ee1963fd331dc63c2d526b3ce4c0fe9b761dc756 100644 (file)
@@ -116,7 +116,6 @@ OptionGroup::OptionGroup(OptSpecifier ID, const char *Name,
 
 Arg *OptionGroup::accept(const ArgList &Args, unsigned &Index) const {
   llvm_unreachable("accept() should never be called on an OptionGroup");
-  return 0;
 }
 
 InputOption::InputOption(OptSpecifier ID)
@@ -125,7 +124,6 @@ InputOption::InputOption(OptSpecifier ID)
 
 Arg *InputOption::accept(const ArgList &Args, unsigned &Index) const {
   llvm_unreachable("accept() should never be called on an InputOption");
-  return 0;
 }
 
 UnknownOption::UnknownOption(OptSpecifier ID)
@@ -134,7 +132,6 @@ UnknownOption::UnknownOption(OptSpecifier ID)
 
 Arg *UnknownOption::accept(const ArgList &Args, unsigned &Index) const {
   llvm_unreachable("accept() should never be called on an UnknownOption");
-  return 0;
 }
 
 FlagOption::FlagOption(OptSpecifier ID, const char *Name,
index c465e1d279f91370d1c40acd23e923ea3e07dc92..b885eeef98324ebe833cb7cfb1156102b8d65da5 100644 (file)
@@ -24,5 +24,4 @@ const char *phases::getPhaseName(ID Id) {
   }
 
   llvm_unreachable("Invalid phase id.");
-  return 0;
 }
index 6746004bc78107e8a5bf5ae08e473dc9f600f071..1a4f19d0f66b2450e157a5dde96a76ba8352bbeb 100644 (file)
@@ -61,7 +61,6 @@ SourceRange ASTLocation::getSourceRange() const {
 
   switch (getKind()) {
   default: llvm_unreachable("Invalid Kind");
-    return SourceRange();
   case N_Decl:
     return D->getSourceRange();
   case N_Stmt:
index c575507c554be41f13b837790273021ec346d8c9..c029c584ecb3219d679d86f868a457cee4527238 100644 (file)
@@ -30,7 +30,6 @@ static int SelectDigraphErrorMessage(tok::TokenKind Kind) {
     case tok::kw_static_cast:      return 4;
     default:
       llvm_unreachable("Unknown type for digraph error message.");
-      return -1;
   }
 }
 
@@ -784,7 +783,7 @@ ExprResult Parser::ParseCXXCasts() {
   const char *CastName = 0;     // For error messages
 
   switch (Kind) {
-  default: llvm_unreachable("Unknown C++ cast!"); abort();
+  default: llvm_unreachable("Unknown C++ cast!");
   case tok::kw_const_cast:       CastName = "const_cast";       break;
   case tok::kw_dynamic_cast:     CastName = "dynamic_cast";     break;
   case tok::kw_reinterpret_cast: CastName = "reinterpret_cast"; break;
@@ -1292,7 +1291,6 @@ void Parser::ParseCXXSimpleTypeSpecifier(DeclSpec &DS) {
     llvm_unreachable("Annotation token should already be formed!");
   default:
     llvm_unreachable("Not a simple-type-specifier token!");
-    abort();
 
   // type-name
   case tok::annot_typename: {
index 90fd7cdc40910cd2051e6550d430eaab55ece1b0..64c72a19d297e613d1a9e107272d6d2e51754a46 100644 (file)
@@ -138,7 +138,6 @@ DeclContext *Sema::computeDeclContext(const CXXScopeSpec &SS,
   switch (NNS->getKind()) {
   case NestedNameSpecifier::Identifier:
     llvm_unreachable("Dependent nested-name-specifier has no DeclContext");
-    break;
 
   case NestedNameSpecifier::Namespace:
     return NNS->getAsNamespace();
index 166e165d6912e62e6633e49601fbaea6af8dcaa6..283f4fb731da1c5c46f73d217bfe85bb0f94a6f7 100644 (file)
@@ -3401,7 +3401,6 @@ void Sema::CodeCompleteTag(Scope *S, unsigned TagSpec) {
     
   default:
     llvm_unreachable("Unknown type specifier kind in CodeCompleteTag");
-    return;
   }
   
   ResultBuilder Results(*this, CodeCompleter->getAllocator(), ContextKind);
index da0fa3e12a709c95c58fe51734ce3b790b36d26a..bddefb6693515b0682d73c7ab68689c24cf448b3 100644 (file)
@@ -2938,7 +2938,6 @@ Sema::GetNameFromUnqualifiedId(const UnqualifiedId &Name) {
   } // switch (Name.getKind())
 
   llvm_unreachable("Unknown name kind");
-  return DeclarationNameInfo();
 }
 
 static QualType getCoreType(QualType Ty) {
@@ -8375,7 +8374,6 @@ void Sema::DiagnoseNontrivial(const RecordType* T, CXXSpecialMember member) {
       }
 
       llvm_unreachable("found no user-declared constructors");
-      return;
     }
     break;
 
@@ -8460,7 +8458,7 @@ void Sema::DiagnoseNontrivial(const RecordType* T, CXXSpecialMember member) {
   case CXXDestructor:
     hasTrivial = &CXXRecordDecl::hasTrivialDestructor; break;
   default:
-    llvm_unreachable("unexpected special member"); return;
+    llvm_unreachable("unexpected special member");
   }
 
   // Check for nontrivial bases (and recurse).
index 34eb49888dd4d805af951de08cda0a4e566d322b..88c89f21bddd602dece95bc7ea64373616fe6937 100644 (file)
@@ -3206,7 +3206,6 @@ static void handleNSReturnsRetainedAttr(Sema &S, Decl *D,
   switch (Attr.getKind()) {
     default:
       llvm_unreachable("invalid ownership attribute");
-      return;
     case AttributeList::AT_ns_returns_autoreleased:
       D->addAttr(::new (S.Context) NSReturnsAutoreleasedAttr(Attr.getRange(),
                                                              S.Context));
index 0727bbd36c6f5cd3c123c1fc0ef86a44386920a5..23b128db596d25bed92e2c6e17141b0d52cc447e 100644 (file)
@@ -9978,7 +9978,6 @@ void Sema::SetDeclDefaulted(Decl *Dcl, SourceLocation DefaultLoc) {
 
     case CXXInvalid:
       llvm_unreachable("Invalid special member.");
-      break;
     }
   } else {
     Diag(DefaultLoc, diag::err_default_special_members);
index 582f153299be7f2120e243f94a0e322dcfb3edad..4dd43c8857fb99f3e07cb2ccf3bd670985d17aa2 100644 (file)
@@ -8942,7 +8942,6 @@ ExprResult Sema::ActOnGNUNullExpr(SourceLocation TokenLoc) {
     Ty = Context.LongLongTy;
   else {
     llvm_unreachable("I don't know size of pointer!");
-    Ty = Context.IntTy;
   }
 
   return Owned(new (Context) GNUNullExpr(Ty, TokenLoc));
index 3fb8df6682eeaee939f5ea37fbad8cfc0df724a5..412d891a93d8bc75a51746090537e1d5bc52ee43 100644 (file)
@@ -1526,7 +1526,6 @@ bool Sema::FindAllocationOverload(SourceLocation StartLoc, SourceRange Range,
   }
   }
   llvm_unreachable("Unreachable, bad result from BestViableFunction");
-  return true;
 }
 
 
@@ -2182,7 +2181,6 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType,
 
   case ImplicitConversionSequence::EllipsisConversion:
     llvm_unreachable("Cannot perform an ellipsis conversion");
-    return Owned(From);
 
   case ImplicitConversionSequence::BadConversion:
     return ExprError();
@@ -2285,7 +2283,6 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType,
 
   default:
     llvm_unreachable("Improper first standard conversion");
-    break;
   }
 
   // Perform the second implicit conversion
@@ -2525,7 +2522,6 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType,
   case ICK_Qualification:
   case ICK_Num_Conversion_Kinds:
     llvm_unreachable("Improper second standard conversion");
-    break;
   }
 
   switch (SCS.Third) {
@@ -2551,7 +2547,6 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType,
 
   default:
     llvm_unreachable("Improper third standard conversion");
-    break;
   }
 
   return Owned(From);
@@ -3561,7 +3556,6 @@ static bool FindConditionalOverload(Sema &Self, ExprResult &LHS, ExprResult &RHS
 
     case OR_Deleted:
       llvm_unreachable("Conditional operator has only built-in overloads");
-      break;
   }
   return true;
 }
index 7f42fb7178058f7b3b324297091465c9c4b5b995..9a802226e2fba13580b0d72960a40b71ff8beb08 100644 (file)
@@ -6334,7 +6334,6 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
   case OO_None:
   case NUM_OVERLOADED_OPERATORS:
     llvm_unreachable("Expected an overloaded operator");
-    break;
 
   case OO_New:
   case OO_Delete:
@@ -6343,7 +6342,6 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
   case OO_Call:
     llvm_unreachable(
                     "Special operators don't use AddBuiltinOperatorCandidates");
-    break;
 
   case OO_Comma:
   case OO_Arrow:
index c75e337fdb7cd6cb1f61c5ce84beaae4031f65e1..b30be82ceec479a09138bc001940146ce4b6a699 100644 (file)
@@ -1388,7 +1388,6 @@ Sema::BuildCXXForRangeStmt(SourceLocation ForLoc, SourceLocation ColonLoc,
         // Can't be a DependentSizedArrayType or an IncompleteArrayType since
         // UnqAT is not incomplete and Range is not type-dependent.
         llvm_unreachable("Unexpected array type in for-range");
-        return StmtError();
       }
 
       // end-expr is __range + __bound.
index 4f90a72ea2fdf21dc2f0d8d3d74f019393eb00a2..594b7b24fb74473ba1865fe77b3a3b01fbbdd6b6 100644 (file)
@@ -2683,7 +2683,6 @@ bool Sema::CheckTemplateArgument(NamedDecl *Param,
     switch (Arg.getArgument().getKind()) {
     case TemplateArgument::Null:
       llvm_unreachable("Should never see a NULL template argument here");
-      return true;
 
     case TemplateArgument::Expression: {
       TemplateArgument Result;
@@ -2806,7 +2805,6 @@ bool Sema::CheckTemplateArgument(NamedDecl *Param,
   switch (Arg.getArgument().getKind()) {
   case TemplateArgument::Null:
     llvm_unreachable("Should never see a NULL template argument here");
-    return true;
 
   case TemplateArgument::Template:
   case TemplateArgument::TemplateExpansion:
@@ -5218,7 +5216,6 @@ Sema::CheckSpecializationInstantiationRedecl(SourceLocation NewLoc,
   case TSK_Undeclared:
   case TSK_ImplicitInstantiation:
     llvm_unreachable("Don't check implicit instantiations here");
-    return false;
 
   case TSK_ExplicitSpecialization:
     switch (PrevTSK) {
@@ -5351,8 +5348,6 @@ Sema::CheckSpecializationInstantiationRedecl(SourceLocation NewLoc,
   }
 
   llvm_unreachable("Missing specialization/instantiation case?");
-
-  return false;
 }
 
 /// \brief Perform semantic analysis for the given dependent function
index 283cc575ad60cd269f4df7198adafadb0c789fcd..5d5cdc5233575c150a7ae3152a46b815cd5db7f5 100644 (file)
@@ -1540,7 +1540,6 @@ DeduceTemplateArguments(Sema &S,
   switch (Param.getKind()) {
   case TemplateArgument::Null:
     llvm_unreachable("Null template argument in parameter list");
-    break;
 
   case TemplateArgument::Type:
     if (Arg.getKind() == TemplateArgument::Type)
@@ -1831,7 +1830,6 @@ static bool isSameTemplateArg(ASTContext &Context,
   switch (X.getKind()) {
     case TemplateArgument::Null:
       llvm_unreachable("Comparing NULL template argument");
-      break;
 
     case TemplateArgument::Type:
       return Context.getCanonicalType(X.getAsType()) ==
index d4406240d0e259041eb5ab1063f84d2097d9efd0..43db5cbbd666631220af078e28650ba7227decab 100644 (file)
@@ -97,7 +97,6 @@ void Sema::InstantiateAttrs(const MultiLevelTemplateArgumentList &TemplateArgs,
 Decl *
 TemplateDeclInstantiator::VisitTranslationUnitDecl(TranslationUnitDecl *D) {
   llvm_unreachable("Translation units cannot be instantiated");
-  return D;
 }
 
 Decl *
@@ -111,7 +110,6 @@ TemplateDeclInstantiator::VisitLabelDecl(LabelDecl *D) {
 Decl *
 TemplateDeclInstantiator::VisitNamespaceDecl(NamespaceDecl *D) {
   llvm_unreachable("Namespaces cannot be instantiated");
-  return D;
 }
 
 Decl *
@@ -702,7 +700,6 @@ Decl *TemplateDeclInstantiator::VisitEnumDecl(EnumDecl *D) {
 
 Decl *TemplateDeclInstantiator::VisitEnumConstantDecl(EnumConstantDecl *D) {
   llvm_unreachable("EnumConstantDecls can only occur within EnumDecls.");
-  return 0;
 }
 
 Decl *TemplateDeclInstantiator::VisitClassTemplateDecl(ClassTemplateDecl *D) {
index 2b4a509f11193e544170bcb5398232dbf7b07e0b..ad5d8b9a4e376e813945dd0813102384797222a2 100644 (file)
@@ -1760,7 +1760,7 @@ static QualType GetDeclSpecTypeForDeclarator(TypeProcessingState &state,
       if (D.getDeclSpec().getStorageClassSpec() == DeclSpec::SCS_static)
         break;
       switch (cast<TagDecl>(SemaRef.CurContext)->getTagKind()) {
-      case TTK_Enum: llvm_unreachable("unhandled tag kind"); break;
+      case TTK_Enum: llvm_unreachable("unhandled tag kind");
       case TTK_Struct: Error = 1; /* Struct member */ break;
       case TTK_Union:  Error = 2; /* Union member */ break;
       case TTK_Class:  Error = 3; /* Class member */ break;
index 0c22c61b66256790efe3946b05c935082c62b130..509c450ced7a1d099c6b4fddd25820be0cef96f3 100644 (file)
@@ -1729,7 +1729,6 @@ public:
 
     default:
       llvm_unreachable("Invalid C++ named cast");
-      break;
     }
 
     return ExprError();
@@ -2682,7 +2681,6 @@ TreeTransform<Derived>
   }
 
   llvm_unreachable("Unknown name kind.");
-  return DeclarationNameInfo();
 }
 
 template<typename Derived>
@@ -8050,7 +8048,6 @@ template<typename Derived>
 ExprResult
 TreeTransform<Derived>::TransformAsTypeExpr(AsTypeExpr *E) {
   llvm_unreachable("Cannot transform asType expressions yet");
-  return SemaRef.Owned(E);
 }
   
 //===----------------------------------------------------------------------===//
index 4d92e314bc7d8dc98813703eb2f4dca6da715a01..f390929d4b38af6a0cafba8ab5ad4ace52e73a70 100644 (file)
@@ -4994,7 +4994,6 @@ ASTReader::ReadTemplateName(Module &F, const RecordData &Record,
   }
 
   llvm_unreachable("Unhandled template name kind!");
-  return TemplateName();
 }
 
 TemplateArgument
@@ -5034,7 +5033,6 @@ ASTReader::ReadTemplateArgument(Module &F,
   }
 
   llvm_unreachable("Unhandled template argument kind!");
-  return TemplateArgument();
 }
 
 TemplateParameterList *
index 38f5f49734e944f93df51362e40df1a3839f65c3..32d88407195a932ba0e2b1a34a967abfd82f49ef 100644 (file)
@@ -346,7 +346,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
   FD->IdentifierNamespace = Record[Idx++];
   switch ((FunctionDecl::TemplatedKind)Record[Idx++]) {
   default: llvm_unreachable("Unhandled TemplatedKind!");
-    break;
   case FunctionDecl::TK_NonTemplate:
     break;
   case FunctionDecl::TK_FunctionTemplate:
@@ -1481,7 +1480,6 @@ Decl *ASTReader::ReadDeclRecord(DeclID ID) {
   case DECL_CONTEXT_LEXICAL:
   case DECL_CONTEXT_VISIBLE:
     llvm_unreachable("Record cannot be de-serialized with ReadDeclRecord");
-    break;
   case DECL_TYPEDEF:
     D = TypedefDecl::Create(Context, 0, SourceLocation(), SourceLocation(),
                             0, 0);
index 5a5963c5ecdeea50cf43911e4f56aceae1a2acbf..ae273f395b2f46f4a3ba540201448fff6a679ee8 100644 (file)
@@ -296,7 +296,6 @@ void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
   Record.push_back(D->getTemplatedKind());
   switch (D->getTemplatedKind()) {
   default: llvm_unreachable("Unhandled TemplatedKind!");
-    break;
   case FunctionDecl::TK_NonTemplate:
     break;
   case FunctionDecl::TK_FunctionTemplate:
index b87c9eba185fdd597f910d87c02855adcd2471da..6e73b60abf95ff9bcfc313ad42c5f0439e9ba738 100644 (file)
@@ -1744,7 +1744,6 @@ FindReportInEquivalenceClass(BugReportEquivClass& EQ,
     if (errorNode->isSink()) {
       llvm_unreachable(
            "BugType::isSuppressSink() should not be 'true' for sink end nodes");
-      return 0;
     }
     // No successors?  By definition this nodes isn't post-dominated by a sink.
     if (errorNode->succ_empty()) {
index 6a860428d64d1472167d35692537f3df4fb7b608..e1705c61a37fe0df540bd81562a01897dcf70b21 100644 (file)
@@ -327,7 +327,6 @@ void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) {
     switch (Term->getStmtClass()) {
       default:
         llvm_unreachable("Analysis for this terminator not implemented.");
-        break;
 
       case Stmt::BinaryOperatorClass: // '&&' and '||'
         HandleBranch(cast<BinaryOperator>(Term)->getLHS(), Term, B, Pred);
index 5e38f2f244accb1eaf7b8998e2ddfccbd98aee61..d982a698d3dd376c4c32f9c93d7bea6319af3f3e 100644 (file)
@@ -1031,7 +1031,6 @@ void ExprEngine::processIndirectGoto(IndirectGotoNodeBuilder &builder) {
     }
 
     llvm_unreachable("No block with label.");
-    return;
   }
 
   if (isa<loc::ConcreteInt>(V) || isa<UndefinedVal>(V)) {
index 955684f92deeb0e1ea74229d09806dbbbed36a39..68ccc59ac952c0e7d367ba014b6a1b707dd309af 100644 (file)
@@ -626,7 +626,6 @@ void ExprEngine::VisitUnaryOperator(const UnaryOperator* U,
         switch (U->getOpcode()) {
           default:
             llvm_unreachable("Invalid Opcode.");
-            break;
             
           case UO_Not:
             // FIXME: Do we need to handle promotions?
index 18fbf831ec9fd6e4208822eb2815b93f88c5d951..6d435da993e4784450f80fac9263aa9a5e8c453c 100644 (file)
@@ -892,7 +892,6 @@ SVal RegionStoreManager::Retrieve(Store store, Loc L, QualType T) {
 
   if (isa<CodeTextRegion>(MR)) {
     llvm_unreachable("Why load from a code text region?");
-    return UnknownVal();
   }
 
   // FIXME: Perhaps this method should just take a 'const MemRegion*' argument
index e32a3b0f539748e32420c9b85365e25043b5c107..b5980b96938a62a3c0750cc43f3c7333520e547d 100644 (file)
@@ -370,6 +370,5 @@ void Loc::dumpToStream(raw_ostream &os) const {
     }
     default:
       llvm_unreachable("Pretty-printing not implemented for this Loc.");
-      break;
   }
 }
index 830d70e888b404e6e18f480dc50d1149eb2ea22f..bd63ecf775d3c39ea51b98bd54a3cf45a2be4353 100644 (file)
@@ -348,7 +348,6 @@ SVal SimpleSValBuilder::evalBinOpNN(const ProgramState *state,
         case BO_LAnd:
         case BO_LOr:
           llvm_unreachable("Logical operators handled by branching logic.");
-          return UnknownVal();
         case BO_Assign:
         case BO_MulAssign:
         case BO_DivAssign:
@@ -362,11 +361,9 @@ SVal SimpleSValBuilder::evalBinOpNN(const ProgramState *state,
         case BO_OrAssign:
         case BO_Comma:
           llvm_unreachable("'=' and ',' operators handled by ExprEngine.");
-          return UnknownVal();
         case BO_PtrMemD:
         case BO_PtrMemI:
           llvm_unreachable("Pointer arithmetic not handled here.");
-          return UnknownVal();
         case BO_LT:
         case BO_GT:
         case BO_LE:
@@ -557,7 +554,6 @@ SVal SimpleSValBuilder::evalBinOpLL(const ProgramState *state,
     switch (op) {
     default:
       llvm_unreachable("Unimplemented operation for two identical values");
-      return UnknownVal();
     case BO_Sub:
       return makeZeroVal(resultTy);
     case BO_EQ:
@@ -574,7 +570,6 @@ SVal SimpleSValBuilder::evalBinOpLL(const ProgramState *state,
   switch (lhs.getSubKind()) {
   default:
     llvm_unreachable("Ordering not implemented for this Loc.");
-    return UnknownVal();
 
   case loc::GotoLabelKind:
     // The only thing we know about labels is that they're non-null.
index 63550d47f137d43152c1265b1a2b59df366de84f..48a6f4f60f8a14e581c21d9f21a4c11540e44d47 100644 (file)
@@ -104,7 +104,6 @@ const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy)
     case MemRegion::NonStaticGlobalSpaceRegionKind:
     case MemRegion::StaticGlobalSpaceRegionKind: {
       llvm_unreachable("Invalid region cast");
-      break;
     }
 
     case MemRegion::FunctionTextRegionKind:
@@ -204,7 +203,6 @@ const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy)
   }
 
   llvm_unreachable("unreachable");
-  return 0;
 }
 
 
@@ -262,7 +260,6 @@ SVal StoreManager::getLValueFieldOrIvar(const Decl *D, SVal Base) {
 
   default:
     llvm_unreachable("Unhandled Base.");
-    return Base;
   }
 
   // NOTE: We must have this check first because ObjCIvarDecl is a subclass
index 32ad5819de2cf2fe955f271eaa9e6cf0c415e1ae..dc3a2fe6603cf75d7d5467059ec7dc0cc630ae58 100644 (file)
@@ -29,7 +29,6 @@ static void print(raw_ostream &os, BinaryOperator::Opcode Op) {
   switch (Op) {
     default:
       llvm_unreachable("operator printing not implemented");
-      break;
     case BO_Mul: os << '*'  ; break;
     case BO_Div: os << '/'  ; break;
     case BO_Rem: os << '%'  ; break;
index cfebbfce52003eaaaf2a335b099b425215100577..db71a767c91686be2f597ea1e9773d43ac36efa3 100644 (file)
@@ -106,7 +106,7 @@ CXString clang_formatDiagnostic(CXDiagnostic Diagnostic, unsigned Options) {
 
   /* Print warning/error/etc. */
   switch (Severity) {
-  case CXDiagnostic_Ignored: llvm_unreachable("impossible"); break;
+  case CXDiagnostic_Ignored: llvm_unreachable("impossible");
   case CXDiagnostic_Note: Out << "note: "; break;
   case CXDiagnostic_Warning: Out << "warning: "; break;
   case CXDiagnostic_Error: Out << "error: "; break;