diff options
Diffstat (limited to 'nt/inc/ms-w32.h')
-rw-r--r-- | nt/inc/ms-w32.h | 53 |
1 files changed, 45 insertions, 8 deletions
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index 22255843f13..06a3af937df 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h @@ -121,7 +121,7 @@ extern char *getenv (); #include <sys/types.h> #ifdef _MSC_VER -typedef unsigned long sigset_t; +typedef int sigset_t; typedef int ssize_t; #endif @@ -130,6 +130,7 @@ struct sigaction { void (_CALLBACK_ *sa_handler)(int); sigset_t sa_mask; }; +#define SA_RESTART 0 #define SIG_BLOCK 1 #define SIG_SETMASK 2 #define SIG_UNBLOCK 3 @@ -203,6 +204,9 @@ struct sigaction { #define kill sys_kill #define signal sys_signal +/* Internal signals. */ +#define emacs_raise(sig) emacs_abort() + /* termcap.c calls that are emulated. */ #define tputs sys_tputs #define tgetstr sys_tgetstr @@ -290,6 +294,7 @@ struct timespec #define SIGPIPE 13 /* Write on pipe with no readers */ #define SIGALRM 14 /* Alarm */ #define SIGCHLD 18 /* Death of child */ +#define SIGPROF 19 /* Profiling */ #ifndef NSIG #define NSIG 23 @@ -353,7 +358,7 @@ extern char *get_emacs_configuration_options (void); extern int getloadavg (double *, int); -#if defined (__MINGW32__) || _MSC_VER >= 1400 +#if defined (__MINGW32__) /* Define to 1 if the system has the type `long long int'. */ # define HAVE_LONG_LONG_INT 1 @@ -361,21 +366,37 @@ extern int getloadavg (double *, int); /* Define to 1 if the system has the type `unsigned long long int'. */ # define HAVE_UNSIGNED_LONG_LONG_INT 1 -#elif _MSC_VER >= 1200 +#endif +#ifdef _MSC_VER +# if defined(_WIN64) +typedef __int64 EMACS_INT; +typedef unsigned __int64 EMACS_UINT; +# define EMACS_INT_MAX LLONG_MAX +# define PRIuMAX "llu" +# define pI "ll" +/* Fix a bug in MSVC headers : stdint.h */ +# define _INTPTR 2 +# elif defined(_WIN32) /* Temporarily disable wider-than-pointer integers until they're tested more. Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */ -# ifdef WIDE_EMACS_INT +# ifdef WIDE_EMACS_INT /* Use pre-C99-style 64-bit integers. */ typedef __int64 EMACS_INT; typedef unsigned __int64 EMACS_UINT; -# define EMACS_INT_MAX _I64_MAX -# define pI "I64" - +# define EMACS_INT_MAX LLONG_MAX +# define PRIuMAX "llu" +# define pI "I64" +# else +typedef int EMACS_INT; +typedef unsigned int EMACS_UINT; +# define EMACS_INT_MAX LONG_MAX +# define PRIuMAX "lu" +# define pI "l" +# endif # endif - #endif /* We need a little extra space, see ../../lisp/loadup.el. */ @@ -415,6 +436,22 @@ extern void _DebPrint (const char *fmt, ...); #define DebPrint(stuff) #endif +#ifdef _MSC_VER +#if _MSC_VER >= 800 && !defined(__cplusplus) +/* Unnamed type definition in parentheses. + A structure, union, or enumerated type with no name is defined in a + parenthetical expression. The type definition is meaningless. */ +#pragma warning(disable:4116) +/* 'argument' : conversion from 'type1' to 'type2', possible loss of + data A floating point type was converted to an integer type. A + possible loss of data may have occurred. */ +#pragma warning(disable:4244) +/* Negative integral constant converted to unsigned type. + An expression converts a negative integer constant to an unsigned type. + The result of the expression is probably meaningless. */ +#pragma warning(disable:4308) +#endif +#endif #define TERM_HEADER "w32term.h" |