diff options
| author | Eli Zaretskii | 2014-09-25 20:49:02 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-09-25 20:49:02 +0300 |
| commit | 686b21966f812707e1d1c614ddd63d1d24fbdf18 (patch) | |
| tree | 8bae22471f92a50249b97380143b6630cb6896a5 /src | |
| parent | 39234ddb3e95c7ec704b104220cdf4bb50768907 (diff) | |
| download | emacs-686b21966f812707e1d1c614ddd63d1d24fbdf18.tar.gz emacs-686b21966f812707e1d1c614ddd63d1d24fbdf18.zip | |
Don't use USE_STACK_LISP_OBJECTS on Windows with GCC older than 4.2.
src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit
MinGW builds that use GCC before 4.2.
Fixes: debbugs:18559
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/lisp.h | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9c360e64de0..87d33121495 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2014-09-25 Eli Zaretskii <eliz@gnu.org> | 1 | 2014-09-25 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | * lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit | ||
| 4 | MinGW builds that use GCC before 4.2. | ||
| 5 | |||
| 3 | Default to stack objects on DOS_NT platforms as well. | 6 | Default to stack objects on DOS_NT platforms as well. |
| 4 | * w32term.h (ALIGN_STACK) [__GNUC__]: Define to | 7 | * w32term.h (ALIGN_STACK) [__GNUC__]: Define to |
| 5 | __attribute__((force_align_arg_pointer)) for GCC 4.2 and later. | 8 | __attribute__((force_align_arg_pointer)) for GCC 4.2 and later. |
diff --git a/src/lisp.h b/src/lisp.h index 82a99fcca34..b1f793c7282 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -286,7 +286,13 @@ error !; | |||
| 286 | http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00506.html. */ | 286 | http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00506.html. */ |
| 287 | #ifndef USE_STACK_LISP_OBJECTS | 287 | #ifndef USE_STACK_LISP_OBJECTS |
| 288 | # if defined __GNUC__ && !defined __clang__ | 288 | # if defined __GNUC__ && !defined __clang__ |
| 289 | # define USE_STACK_LISP_OBJECTS true | 289 | /* 32-bit MinGW builds need at least GCC 4.2 to support this. */ |
| 290 | # if defined __MINGW32__ && !defined _W64 \ | ||
| 291 | && __GNUC__ + (__GNUC_MINOR__ > 1) < 5 | ||
| 292 | # define USE_STACK_LISP_OBJECTS false | ||
| 293 | # else /* !(__MINGW32__ && __GNUC__ < 4.2) */ | ||
| 294 | # define USE_STACK_LISP_OBJECTS true | ||
| 295 | # endif | ||
| 290 | # else | 296 | # else |
| 291 | # define USE_STACK_LISP_OBJECTS false | 297 | # define USE_STACK_LISP_OBJECTS false |
| 292 | # endif | 298 | # endif |