diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp
index 2b9d13cec0bb5ec1817cc11a28be7765f1524fea..8c650290b579429812f3a68cb08374fb29640f23 100644
--- a/lib/AST/ExprConstant.cpp
+++ b/lib/AST/ExprConstant.cpp
@@ -2514,6 +2514,7 @@ static EvalStmtResult EvaluateLoopBody(APValue &Result, EvalInfo &Info,
   case ESR_Returned:
     return ESR;
   }
+  llvm_unreachable("Invalid EvalStmtResult!");
 }
 
 // Evaluate a statement.