diff options
author | Eli Zaretskii <eliz@gnu.org> | 2011-11-27 20:52:53 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2011-11-27 20:52:53 +0200 |
commit | 8c9afb46949ddd9853f38eb8c1a865cb13522d92 (patch) | |
tree | 2169011e33dec345430c7ed64db7b61ade7165f6 /nt/inc/stdint.h | |
parent | 54e9e3bf847d39b8c0daa46a999efeb6f84c9d76 (diff) | |
download | emacs-8c9afb46949ddd9853f38eb8c1a865cb13522d92.tar.gz |
Fix MS-Windows build with MSVC compiler.
Parts of the changes by Fabrice Popineau <fabrice.popineau@supelec.fr>.
lib-src/makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
lib-src/emacsclient.c (main) <environ>: Remove declaration, already
pulled in by unistd.h on Posix hosts and stdlib.h on MS-Windows.
nt/inc/stdint.h (uint32_t, uint64_t) [_WIN64]: New typedefs.
(UINT64_MAX) [_WIN64]: Fix definition.
(uintmax_t, intmax_t): Fix definitions.
nt/inc/inttypes.h (strtoumax, strtoimax) [!__MINGW32__]: Provide
correct definitions.
nt/config.nt (HAVE_DECL_STRTOLL): Define.
(va_copy) [_WIN64]: Provide a better definition.
src/s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
(snprintf) [_MSC_VER]: Redirect to _snprintf.
(strtoll) [_MSC_VER]: Redirect to _strtoi64.
(malloc, free, realloc, calloc): Redirect to e_* only when
compiling Emacs.
src/lisp.h (GCTYPEBITS): Move before first use.
(ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
(DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
this macro definition.
(tzname): Redirect to _tzname for all values of _MSC_VER.
Fixes: debbugs:9960
Diffstat (limited to 'nt/inc/stdint.h')
-rw-r--r-- | nt/inc/stdint.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/nt/inc/stdint.h b/nt/inc/stdint.h index fa2e06f3da9..4eda1c5a688 100644 --- a/nt/inc/stdint.h +++ b/nt/inc/stdint.h @@ -29,7 +29,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #ifdef _WIN64 typedef __int64 intptr_t; -#define UINT64_MAX 18446744073709551615 +typedef unsigned int uint32_t; +typedef unsigned __int64 uint64_t; +#define UINT64_MAX (18446744073709551615i64) #define UINT64_MIN 0 /* "i64" is the non-standard suffix used by MSVC for 64-bit constants. */ #define INT64_MAX 9223372036854775807i64 @@ -39,6 +41,8 @@ typedef __int64 intptr_t; #define UINTMAX_MIN UINT64_MIN #define INTMAX_MAX INT64_MAX #define INTMAX_MIN INT64_MIN +#define uintmax_t unsigned __int64 +#define intmax_t __int64 #else typedef int intptr_t; typedef unsigned int uint32_t; @@ -51,10 +55,10 @@ typedef unsigned int uint32_t; #define UINTMAX_MIN UINT32_MIN #define INTMAX_MAX INT32_MAX #define INTMAX_MIN INT32_MIN +#define uintmax_t unsigned long +#define intmax_t long #endif -#define uintmax_t unsigned __int64 -#define intmax_t __int64 #define PTRDIFF_MAX INTPTR_MAX #endif /* !__GNUC__ */ |