diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 1bc4692..fd59bf0 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -1989,7 +1989,7 @@
 private:
   Action::OwningExprResult CheckFunctionCall(FunctionDecl *FDecl,
                                              CallExpr *TheCall);
-  bool CheckBuiltinCFStringArgument(Expr* Arg);
+  bool CheckObjCString(Expr *Arg);
   bool SemaBuiltinVAStart(CallExpr *TheCall);
   bool SemaBuiltinUnorderedCompare(CallExpr *TheCall);
   bool SemaBuiltinStackAddress(CallExpr *TheCall);
diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
index e2ec267..db622f6 100644
--- a/lib/Sema/SemaChecking.cpp
+++ b/lib/Sema/SemaChecking.cpp
@@ -37,7 +37,7 @@
   case Builtin::BI__builtin___CFStringMakeConstantString:
     assert(TheCall->getNumArgs() == 1 &&
            "Wrong # arguments to builtin CFStringMakeConstantString");
-    if (CheckBuiltinCFStringArgument(TheCall->getArg(0)))
+    if (CheckObjCString(TheCall->getArg(0)))
       return ExprError();
     return move(TheCallResult);
   case Builtin::BI__builtin_stdarg_start:
@@ -91,11 +91,10 @@
   return move(TheCallResult);
 }
 
-/// CheckBuiltinCFStringArgument - Checks that the argument to the builtin
+/// CheckObjCString - Checks that the argument to the builtin
 /// CFString constructor is correct
-bool Sema::CheckBuiltinCFStringArgument(Expr* Arg) {
+bool Sema::CheckObjCString(Expr *Arg) {
   Arg = Arg->IgnoreParenCasts();
-  
   StringLiteral *Literal = dyn_cast<StringLiteral>(Arg);
 
   if (!Literal || Literal->isWide()) {
diff --git a/lib/Sema/SemaExprObjC.cpp b/lib/Sema/SemaExprObjC.cpp
index b0b5367..1da74b9 100644
--- a/lib/Sema/SemaExprObjC.cpp
+++ b/lib/Sema/SemaExprObjC.cpp
@@ -48,7 +48,8 @@
                                     AtLoc);
   }
   
-  if (CheckBuiltinCFStringArgument(S))
+  // Verify that this composite string is acceptable for ObjC strings.
+  if (CheckObjCString(S))
     return true;
   
   if (Context.getObjCConstantStringInterface().isNull()) {
