X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/68652052aa84634e84652f46e9a795081cd40906..f3014ef5b24ac42ec714b48148b7b604b47f7468:/nt/config.nt diff --git a/nt/config.nt b/nt/config.nt index 7765919638..c071bafc7d 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -337,6 +337,17 @@ along with GNU Emacs. If not, see . */ # define restrict #endif +/* A va_copy replacement for MSVC. */ +#ifdef _MSC_VER +# ifdef _WIN64 +# ifndef va_copy +# error "va_copy is needed, but not defined!" +# endif +# else /* not _WIN64 */ +# define va_copy(d,s) ((d) = (s)) +# endif /* not _WIN64 */ +#endif /* _MSC_VER */ + /* Define as a marker that can be attached to declarations that might not be used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ @@ -470,14 +481,29 @@ extern char *getenv (); #define BITS_PER_LONG 32 #endif -#if defined __MINGW32__ || 1400 <= _MSC_VER -/* C99-style long long and "%lld" both work, so use them. */ -# define BITS_PER_LONG_LONG 64 -#elif 1200 <= _MSC_VER +#if defined(__MINGW32__) || _MSC_VER >= 1400 + +/* Define to 1 if the system has the type `long long int'. */ +# define HAVE_LONG_LONG_INT 1 + +/* Define to 1 if the system has the type `unsigned long long int'. */ +# define HAVE_UNSIGNED_LONG_LONG_INT 1 + +#elif _MSC_VER >= 1200 + +/* Temporarily disable wider-than-pointer integers until they're tested more. + Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */ +/* #undef WIDE_EMACS_INT */ + +# ifdef WIDE_EMACS_INT + /* Use pre-C99-style 64-bit integers. */ # define EMACS_INT __int64 # define BITS_PER_EMACS_INT 64 # define pI "I64" + +# endif + #endif #ifndef POINTER_TYPE