Port _setjmp fix to POSIXish hosts as well as Microsoft.

* nt/config.nt: Attempt to sync with autogen/config.in.
(HAVE_SIGSETJMP, HAVE__SETJMP): New macros.
(_longjmp, _setjmp): Remove.
* src/image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
it's needed on POSIXish hosts that lack _setjmp.  Attempt to solve
the Microsoft problem in a different way, by altering nt/config.nt.
This commit is contained in:
Paul Eggert 2012-09-15 01:45:27 -07:00
parent 7105c8cbf3
commit 39a57ad07b
4 changed files with 22 additions and 11 deletions

View file

@ -1,3 +1,10 @@
2012-09-15 Paul Eggert <eggert@cs.ucla.edu>
Port _setjmp fix to POSIXish hosts as well as Microsoft.
* config.nt: Attempt to sync with autogen/config.in.
(HAVE_SIGSETJMP, HAVE__SETJMP): New macros.
(_longjmp, _setjmp): Remove.
2012-09-14 Juanma Barranquero <lekktu@gmail.com>
* config.nt: Sync with autogen/config.in.

View file

@ -800,6 +800,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T
/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is
irrelevant if HAVE__SETJMP is defined. */
#undef HAVE_SIGSETJMP
/* Define to 1 if the system has the type `sigset_t'. */
#undef HAVE_SIGSET_T
@ -1084,6 +1088,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `_ftime' function. */
#undef HAVE__FTIME
/* Define to 1 if _setjmp and _longjmp work. */
#define HAVE__SETJMP 1
/* Define to 1 if you have the `__builtin_unwind_init' function. */
#undef HAVE___BUILTIN_UNWIND_INIT
@ -1511,14 +1518,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
declarations. Define as empty for no equivalent. */
#undef __restrict_arr
/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may
alter signal masks, callers of _longjmp should not assume that it leaves
signal masks alone. */
#undef _longjmp
/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */
#undef _setjmp
/* Some platforms that do not use configure define this to include extra
configuration information. */
#define config_opsysfile <ms-w32.h>

View file

@ -1,3 +1,10 @@
2012-09-15 Paul Eggert <eggert@cs.ucla.edu>
Port _setjmp fix to POSIXish hosts as well as Microsoft.
* image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
it's needed on POSIXish hosts that lack _setjmp. Attempt to solve
the Microsoft problem in a different way, by altering ../nt/config.nt.
2012-09-15 Eli Zaretskii <eliz@gnu.org>
* w32xfns.c:

View file

@ -5520,9 +5520,7 @@ init_png_functions (Lisp_Object libraries)
MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in
the system header setjmp.h; don't mess up that. */
#ifndef HAVE__SETJMP
# ifndef setjmp
# define _setjmp(j) setjmp (j)
# endif
# define _setjmp(j) setjmp (j)
# define _longjmp longjmp
#endif