diff options
author | Jo Shields <jo.shields@xamarin.com> | 2014-11-21 11:59:49 +0300 |
---|---|---|
committer | Jo Shields <jo.shields@xamarin.com> | 2014-11-26 20:53:38 +0300 |
commit | 1b35c8b74a31597108fbae72f7ac597c7d82dc0d (patch) | |
tree | e471e541303f031b41fd4a463e7a2fc14e2de5f2 | |
parent | b92d2bd2398f8d54e2f47e281f3da2ea5f3c79d8 (diff) |
[msvc] Define SSIZE_MAX if not already defined (i.e. on Windows)
limits.h from MSVC does not include SIZE_MAX or SSIZE_MAX. We need the latter to build sgen, so define it.
(cherry picked from commit cf4d77d21d2d15f5775a1cf72bfe8486e5a0dff5)
-rw-r--r-- | mono/metadata/sgen-los.c | 1 | ||||
-rw-r--r-- | mono/utils/mono-compiler.h | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/mono/metadata/sgen-los.c b/mono/metadata/sgen-los.c index 8e823b05537..dc104a0a8cd 100644 --- a/mono/metadata/sgen-los.c +++ b/mono/metadata/sgen-los.c @@ -38,6 +38,7 @@ #include "metadata/sgen-cardtable.h" #include "metadata/sgen-memory-governor.h" #include "utils/mono-mmap.h" +#include "utils/mono-compiler.h" #define LOS_SECTION_SIZE (1024 * 1024) diff --git a/mono/utils/mono-compiler.h b/mono/utils/mono-compiler.h index d3c41ba44df..bad994cc293 100644 --- a/mono/utils/mono-compiler.h +++ b/mono/utils/mono-compiler.h @@ -219,6 +219,20 @@ #include <BaseTsd.h> typedef SSIZE_T ssize_t; +/* + * SSIZE_MAX is not defined in MSVC, so define it here. + * + * These values come from MinGW64, and are public domain. + * + */ +#ifndef SSIZE_MAX +#ifdef _WIN64 +#define SSIZE_MAX _I64_MAX +#else +#define SSIZE_MAX INT_MAX +#endif +#endif + #endif /* _MSC_VER */ #if !defined(_MSC_VER) && !defined(PLATFORM_SOLARIS) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MONOTOUCH) && HAVE_VISIBILITY_HIDDEN |