aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2014-01-01 11:27:41 -0800
committerPaul Eggert2014-01-01 11:27:41 -0800
commitb00cdd96e9b3fa641553c01ecbe03b6c3617b7df (patch)
tree9dfa1e87e6cc001cffe7557768400ccaf62e4e90 /src
parentc10e9ece08ab58bf0d49fd1554879c379f810748 (diff)
downloademacs-b00cdd96e9b3fa641553c01ecbe03b6c3617b7df.tar.gz
emacs-b00cdd96e9b3fa641553c01ecbe03b6c3617b7df.zip
* lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX.
This is a cleaner way to fix the MinGW-w64 porting problem. Check for INTPTR_MAX misconfiguration.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/lisp.h24
2 files changed, 20 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e41ccd168c6..1291815a4bc 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12014-01-01 Paul Eggert <eggert@cs.ucla.edu>
2
3 * lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX.
4 This is a cleaner way to fix the MinGW-w64 porting problem.
5 Check for INTPTR_MAX misconfiguration.
6
12014-01-01 Eli Zaretskii <eliz@gnu.org> 72014-01-01 Eli Zaretskii <eliz@gnu.org>
2 8
3 * search.c (newline_cache_on_off, find_newline): In indirect 9 * search.c (newline_cache_on_off, find_newline): In indirect
diff --git a/src/lisp.h b/src/lisp.h
index 2a6d996a1ab..043e5b13f6b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -63,21 +63,25 @@ INLINE_HEADER_BEGIN
63 pI - printf length modifier for EMACS_INT 63 pI - printf length modifier for EMACS_INT
64 EMACS_UINT - unsigned variant of EMACS_INT */ 64 EMACS_UINT - unsigned variant of EMACS_INT */
65#ifndef EMACS_INT_MAX 65#ifndef EMACS_INT_MAX
66# if LONG_MAX < LLONG_MAX && (defined(WIDE_EMACS_INT) || defined(_WIN64)) 66# if INTPTR_MAX <= 0
67typedef long long int EMACS_INT; 67# error "INTPTR_MAX misconfigured"
68typedef unsigned long long int EMACS_UINT; 68# elif INTPTR_MAX <= INT_MAX && !defined WIDE_EMACS_INT
69# define EMACS_INT_MAX LLONG_MAX 69typedef int EMACS_INT;
70# define pI "ll" 70typedef unsigned int EMACS_UINT;
71# elif INT_MAX < LONG_MAX 71# define EMACS_INT_MAX INT_MAX
72# define pI ""
73# elif INTPTR_MAX <= LONG_MAX && !defined WIDE_EMACS_INT
72typedef long int EMACS_INT; 74typedef long int EMACS_INT;
73typedef unsigned long EMACS_UINT; 75typedef unsigned long EMACS_UINT;
74# define EMACS_INT_MAX LONG_MAX 76# define EMACS_INT_MAX LONG_MAX
75# define pI "l" 77# define pI "l"
78# elif INTPTR_MAX <= LLONG_MAX
79typedef long long int EMACS_INT;
80typedef unsigned long long int EMACS_UINT;
81# define EMACS_INT_MAX LLONG_MAX
82# define pI "ll"
76# else 83# else
77typedef int EMACS_INT; 84# error "INTPTR_MAX too large"
78typedef unsigned int EMACS_UINT;
79# define EMACS_INT_MAX INT_MAX
80# define pI ""
81# endif 85# endif
82#endif 86#endif
83 87