conditionalize this to work on windows, untested but it should work
authorChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 19:27:03 +0000 (19:27 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 19:27:03 +0000 (19:27 +0000)
according to the intarnetz

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55248 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/raw_ostream.h

index 58d5be27417e9c139bd1de579d544b37027d4242..db312f873580cea83698e73403eaaf24c99acd00 100644 (file)
@@ -17,6 +17,7 @@
 #include "llvm/ADT/StringExtras.h"
 #include <cassert>
 #include <cstring>
+#include <cstdio>
 #include <string>
 #include <iosfwd>
 
@@ -173,7 +174,11 @@ public:
   /// returns the length of the formatted string.  If the buffer is too small,
   /// this returns a length to retry with, which will be larger than BufferSize.
   virtual unsigned print(char *Buffer, unsigned BufferSize) const {
+#ifdef WIN32
+    int N = _snprintf(Buffer, BufferSize-1, Fmt, Val);
+#else
     int N = snprintf(Buffer, BufferSize-1, Fmt, Val);
+#endif
     if (N < 0)             // VC++ and old GlibC return negative on overflow.
       return BufferSize*2;
     if (unsigned(N) >= BufferSize-1)// Other impls yield number of bytes needed.