diff options
| author | Eli Zaretskii | 2013-03-26 19:32:52 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2013-03-26 19:32:52 +0200 |
| commit | be3a31b22bb262f57954486ec40f5cbf07a9d828 (patch) | |
| tree | 679ecd486130d0fbefdba70ad3e099c2841ac608 | |
| parent | 54e9501092ec8a87991fb3da5b1732c12b43c61e (diff) | |
| download | emacs-be3a31b22bb262f57954486ec40f5cbf07a9d828.tar.gz emacs-be3a31b22bb262f57954486ec40f5cbf07a9d828.zip | |
Fix problem with _setjmp in MinGW64-compiled Emacs.
nt/inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS): Don't define.
nt/config.nt (HAVE__SETJMP) [!_W64]: Don't define for MinGW64, as
its _setjmp accepts 2 arguments.
| -rw-r--r-- | nt/ChangeLog | 5 | ||||
| -rw-r--r-- | nt/config.nt | 6 | ||||
| -rw-r--r-- | nt/inc/ms-w32.h | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog index 031735edac8..6f208f2a18f 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> | 1 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | * inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS): Don't define. | ||
| 4 | |||
| 5 | * config.nt (HAVE__SETJMP) [!_W64]: Don't define for MinGW64, as | ||
| 6 | its _setjmp accepts 2 arguments. | ||
| 7 | |||
| 3 | * addsection.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Do not | 8 | * addsection.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Do not |
| 4 | define for MinGW64. | 9 | define for MinGW64. |
| 5 | 10 | ||
diff --git a/nt/config.nt b/nt/config.nt index 1fe707cce2d..4f151fcad20 100644 --- a/nt/config.nt +++ b/nt/config.nt | |||
| @@ -1143,8 +1143,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 1143 | /* Define to 1 if you have the `_ftime' function. */ | 1143 | /* Define to 1 if you have the `_ftime' function. */ |
| 1144 | #undef HAVE__FTIME | 1144 | #undef HAVE__FTIME |
| 1145 | 1145 | ||
| 1146 | /* Define to 1 if _setjmp and _longjmp work. */ | 1146 | /* Define to 1 if _setjmp and _longjmp work. MinGW64 uses a |
| 1147 | 2-argument _setjmp, and setjmp is a macro defined to supply the 2nd | ||
| 1148 | arg correctly, so don't use _setjmp directly in that case. */ | ||
| 1149 | #ifndef _W64 | ||
| 1147 | #define HAVE__SETJMP 1 | 1150 | #define HAVE__SETJMP 1 |
| 1151 | #endif | ||
| 1148 | 1152 | ||
| 1149 | /* Define to 1 if you have the `__builtin_unwind_init' function. */ | 1153 | /* Define to 1 if you have the `__builtin_unwind_init' function. */ |
| 1150 | #undef HAVE___BUILTIN_UNWIND_INIT | 1154 | #undef HAVE___BUILTIN_UNWIND_INIT |
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index f721676f731..fd18e8fd1da 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h | |||
| @@ -158,7 +158,6 @@ extern char *getenv (); | |||
| 158 | 158 | ||
| 159 | #ifdef _W64 | 159 | #ifdef _W64 |
| 160 | /* MinGW64 specific stuff. */ | 160 | /* MinGW64 specific stuff. */ |
| 161 | #define USE_NO_MINGW_SETJMP_TWO_ARGS 1 | ||
| 162 | /* Make sure 'struct timespec' and 'struct timezone' are defined. */ | 161 | /* Make sure 'struct timespec' and 'struct timezone' are defined. */ |
| 163 | #include <sys/types.h> | 162 | #include <sys/types.h> |
| 164 | #include <time.h> | 163 | #include <time.h> |