diff options
| author | Paul Eggert | 2014-01-01 11:27:41 -0800 |
|---|---|---|
| committer | Paul Eggert | 2014-01-01 11:27:41 -0800 |
| commit | b00cdd96e9b3fa641553c01ecbe03b6c3617b7df (patch) | |
| tree | 9dfa1e87e6cc001cffe7557768400ccaf62e4e90 /src | |
| parent | c10e9ece08ab58bf0d49fd1554879c379f810748 (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lisp.h | 24 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-01-01 Eli Zaretskii <eliz@gnu.org> | 7 | 2014-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 |
| 67 | typedef long long int EMACS_INT; | 67 | # error "INTPTR_MAX misconfigured" |
| 68 | typedef unsigned long long int EMACS_UINT; | 68 | # elif INTPTR_MAX <= INT_MAX && !defined WIDE_EMACS_INT |
| 69 | # define EMACS_INT_MAX LLONG_MAX | 69 | typedef int EMACS_INT; |
| 70 | # define pI "ll" | 70 | typedef 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 | ||
| 72 | typedef long int EMACS_INT; | 74 | typedef long int EMACS_INT; |
| 73 | typedef unsigned long EMACS_UINT; | 75 | typedef 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 | ||
| 79 | typedef long long int EMACS_INT; | ||
| 80 | typedef unsigned long long int EMACS_UINT; | ||
| 81 | # define EMACS_INT_MAX LLONG_MAX | ||
| 82 | # define pI "ll" | ||
| 76 | # else | 83 | # else |
| 77 | typedef int EMACS_INT; | 84 | # error "INTPTR_MAX too large" |
| 78 | typedef unsigned int EMACS_UINT; | ||
| 79 | # define EMACS_INT_MAX INT_MAX | ||
| 80 | # define pI "" | ||
| 81 | # endif | 85 | # endif |
| 82 | #endif | 86 | #endif |
| 83 | 87 | ||