Index: lib/Format/BreakableToken.cpp
===================================================================
--- lib/Format/BreakableToken.cpp	(revision 193656)
+++ lib/Format/BreakableToken.cpp	(working copy)
@@ -25,7 +25,7 @@
 namespace clang {
 namespace format {
 
-static const char *const Blanks = " \t\v\f";
+static const char *const Blanks = " \t\v\f\r";
 static bool IsBlank(char C) {
   switch (C) {
   case ' ':
@@ -32,6 +32,7 @@
   case '\t':
   case '\v':
   case '\f':
+  case '\r':
     return true;
   default:
     return false;
Index: unittests/Format/FormatTest.cpp
===================================================================
--- unittests/Format/FormatTest.cpp	(revision 193656)
+++ unittests/Format/FormatTest.cpp	(working copy)
@@ -6984,6 +6984,17 @@
                    "  b; \\\r\n"
                    "  c; d; \r\n",
                    getGoogleStyle()));
+
+  EXPECT_EQ("/*\r\n"
+            "multi line block comments\r\n"
+            "should not introduce\r\n"
+            "an extra carriage return\r\n"
+            "*/\r\n",
+            format("/*\r\n"
+                   "multi line block comments\r\n"
+                   "should not introduce\r\n"
+                   "an extra carriage return\r\n"
+                   "*/\r\n"));
 }
 
 TEST_F(FormatTest, MunchSemicolonAfterBlocks) {
