diff options
| -rw-r--r-- | src/pugixml.cpp | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/src/pugixml.cpp b/src/pugixml.cpp index 82e46dc..b06eacb 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -120,11 +120,11 @@ using std::memmove;  using std::memset;  #endif -// Some MinGW versions have headers that erroneously omit LLONG_MIN/LLONG_MAX/ULLONG_MAX definitions in strict ANSI mode -#if defined(PUGIXML_HAS_LONG_LONG) && defined(__MINGW32__) && defined(__STRICT_ANSI__) && !defined(LLONG_MAX) && !defined(LLONG_MIN) && !defined(ULLONG_MAX) -#	define LLONG_MAX 9223372036854775807LL -#	define LLONG_MIN (-LLONG_MAX-1) -#	define ULLONG_MAX (2ULL*LLONG_MAX+1) +// Some MinGW/GCC versions have headers that erroneously omit LLONG_MIN/LLONG_MAX/ULLONG_MAX definitions from limits.h in some configurations +#if defined(PUGIXML_HAS_LONG_LONG) && defined(__GNUC__) && !defined(LLONG_MAX) && !defined(LLONG_MIN) && !defined(ULLONG_MAX) +#	define LLONG_MIN (-LLONG_MAX - 1LL) +#	define LLONG_MAX __LONG_LONG_MAX__ +#	define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)  #endif  // In some environments MSVC is a compiler but the CRT lacks certain MSVC-specific features | 
