diff --git a/lib/Format/BreakableToken.cpp b/lib/Format/BreakableToken.cpp
index d48c3cb..ace3baa 100644
--- a/lib/Format/BreakableToken.cpp
+++ b/lib/Format/BreakableToken.cpp
@@ -24,7 +24,6 @@
 
 namespace clang {
 namespace format {
-namespace {
 
 static const char *const Blanks = " \t\v\f";
 static bool IsBlank(char C) {
@@ -39,10 +38,10 @@
   }
 }
 
-BreakableToken::Split getCommentSplit(StringRef Text,
-                                      unsigned ContentStartColumn,
-                                      unsigned ColumnLimit,
-                                      encoding::Encoding Encoding) {
+static BreakableToken::Split getCommentSplit(StringRef Text,
+                                             unsigned ContentStartColumn,
+                                             unsigned ColumnLimit,
+                                             encoding::Encoding Encoding) {
   if (ColumnLimit <= ContentStartColumn + 1)
     return BreakableToken::Split(StringRef::npos, 0);
 
@@ -76,10 +75,10 @@
   return BreakableToken::Split(StringRef::npos, 0);
 }
 
-BreakableToken::Split getStringSplit(StringRef Text,
-                                     unsigned ContentStartColumn,
-                                     unsigned ColumnLimit,
-                                     encoding::Encoding Encoding) {
+static BreakableToken::Split getStringSplit(StringRef Text,
+                                            unsigned ContentStartColumn,
+                                            unsigned ColumnLimit,
+                                            encoding::Encoding Encoding) {
   // FIXME: Reduce unit test case.
   if (Text.empty())
     return BreakableToken::Split(StringRef::npos, 0);
@@ -127,8 +126,6 @@
   return BreakableToken::Split(StringRef::npos, 0);
 }
 
-} // namespace
-
 unsigned BreakableSingleLineToken::getLineCount() const { return 1; }
 
 unsigned BreakableSingleLineToken::getLineLengthAfterSplit(
