modern objective-c translator: conditionally include
<string.h>. // rdar://11847319


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160287 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp
index 37e780a..256984d 100644
--- a/lib/Rewrite/RewriteModernObjC.cpp
+++ b/lib/Rewrite/RewriteModernObjC.cpp
@@ -5959,7 +5959,11 @@
     Preamble += "#define __block\n";
     Preamble += "#define __weak\n";
   }
-  Preamble += "\nextern \"C\" void * memset(void *b, int c, unsigned long len);\n";
+  Preamble += "\n#if defined(_MSC_VER)\n";
+  Preamble += "#include <string.h>\n";
+  Preamble += "#else\n";
+  Preamble += "extern \"C\" void * memset(void *b, int c, unsigned long len);\n";
+  Preamble += "#endif\n";
   
   // Declarations required for modern objective-c array and dictionary literals.
   Preamble += "\n#include <stdarg.h>\n";