Fix a string over-run detected by ASAN.

llvm-svn: 148375
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 4f074eb..c2c4d08 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -883,8 +883,9 @@
       unsigned BuiltinID = FD->getBuiltinID();
       if (!BuiltinID)
         return true;
-      const char *BuiltinName = BI.GetName(BuiltinID) + strlen("__builtin_");
-      if (Name == BuiltinName) {
+      StringRef BuiltinName = BI.GetName(BuiltinID);
+      if (BuiltinName.startswith("__builtin_") &&
+          Name == BuiltinName.slice(strlen("__builtin_"), StringRef::npos)) {
         Result = true;
         return false;
       }