1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/m4/ruby_check_builtin_setjmp.m4
Nobuyoshi Nakada ce06c24b0c merge revision(s) c32375883a6,48bb0329eb3:
Update for autoconf 2.70

	---
	 configure.ac                         | 232 +++++++++++++++++------------------
	 tool/m4/ruby_check_builtin_setjmp.m4 |   8 +-
	 tool/m4/ruby_check_printf_prefix.m4  |   9 +-
	 tool/m4/ruby_check_setjmp.m4         |   6 +-
	 tool/m4/ruby_check_sysconf.m4        |   6 +-
	 tool/m4/ruby_cppoutfile.m4           |   4 +-
	 tool/m4/ruby_decl_attribute.m4       |   4 +-
	 tool/m4/ruby_dtrace_available.m4     |   2 +-
	 tool/m4/ruby_dtrace_postprocess.m4   |   2 +-
	 tool/m4/ruby_mingw32.m4              |   4 +-
	 tool/m4/ruby_stack_grow_direction.m4 |   4 +-
	 tool/m4/ruby_try_cflags.m4           |   2 +-
	 tool/m4/ruby_try_cxxflags.m4         |   2 +-
	 tool/m4/ruby_try_ldflags.m4          |   2 +-
	 14 files changed, 143 insertions(+), 144 deletions(-)

	Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8

	---
	 configure.ac | 5 ++++-
	 1 file changed, 4 insertions(+), 1 deletion(-)
2021-04-15 13:43:56 +09:00

27 lines
847 B
Text

# -*- Autoconf -*-
AC_DEFUN([RUBY_CHECK_BUILTIN_SETJMP], [
AS_IF([test x"${ac_cv_func___builtin_setjmp}" = xyes], [
unset ac_cv_func___builtin_setjmp
])
AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp,
[
ac_cv_func___builtin_setjmp=no
for cast in "" "(void **)"; do
RUBY_WERROR_FLAG(
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <setjmp.h>
@%:@include <stdio.h>
jmp_buf jb;
@%:@ifdef NORETURN
NORETURN(void t(void));
@%:@endif
void t(void) {__builtin_longjmp($cast jb, 1);}
int jump(void) {(void)(__builtin_setjmp($cast jb) ? 1 : 0); return 0;}]],
[[
void (*volatile f)(void) = t;
if (!jump()) printf("%d\n", f != 0);
]])],
[ac_cv_func___builtin_setjmp="yes with cast ($cast)"])
])
test "$ac_cv_func___builtin_setjmp" = no || break
done])
])dnl