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

typedefed streams.
This commit is contained in:
Peter Kümmel 2016-04-02 11:03:17 +02:00
parent 44c57bb9d8
commit a0a472c16e
2 changed files with 10 additions and 6 deletions

View File

@ -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

View File

@ -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 {