commit a0a472c16e09205c1eca5dd9521720368ce9e3fe
Author: Peter Kümmel <[email protected]>
Date:   Sat Apr 2 11:03:17 2016 +0200

    msvc2015: always incude strfwd.h first, to prevent crashes of our
    typedefed streams.

diff --git a/development/cmake/configCompiler.h.msvc 
b/development/cmake/configCompiler.h.msvc
index d978be1..334015b 100644
--- a/development/cmake/configCompiler.h.msvc
+++ b/development/cmake/configCompiler.h.msvc
@@ -168,6 +168,9 @@
 #define HAVE_MODE_T
 #endif
 
+#if defined(_MSC_VER) && (_MSC_VER >= 1600)
+#include "support/strfwd.h" // always first, to prevent compiler's 
interpretation/instantiations of some typedef
+#endif
 
 
 #endif
diff --git a/src/support/strfwd.h b/src/support/strfwd.h
index 30e1c09..58b44f5 100644
--- a/src/support/strfwd.h
+++ b/src/support/strfwd.h
@@ -23,8 +23,14 @@ namespace lyx { typedef wchar_t char_type; }
 
 #else
 
+#if defined(_MSC_VER) && (_MSC_VER >= 1600)
+#include <cstdint>
+namespace lyx { typedef uint32_t char_type; }
+#include "support/numpunct_lyx_char_type.h" // implementation for our 
char_type needed
+#else
 #include <boost/cstdint.hpp>
 namespace lyx { typedef boost::uint32_t char_type; }
+#endif
 
 #endif
 
@@ -62,12 +68,7 @@ typedef basic_ostringstream<char, char_traits<char>, 
allocator<char> > ostringst
 #endif
 
 
-// Ugly workaround for MSVC10 STL bug:
-// std::numpunct has a hardcoded dllimport in definition, but we wanna it with 
32 bit 
-// so we can't import it and must define it but then the compiler complains.
-#if defined(_MSC_VER) && (_MSC_VER >= 1600) 
-#include "support/numpunct_lyx_char_type.h"
-#endif
+
 
 
 namespace lyx {

Reply via email to