diff options
author | Benjamin Peterson <benjamin@python.org> | 2015-05-28 12:45:31 -0500 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2015-05-28 12:45:31 -0500 |
commit | 2c992a0788536087bfd78da8f2c62b30a461d7e2 (patch) | |
tree | 5067a52fec2f27f77594b535cdc29672ee30d9f7 /configure | |
parent | 78ba242403841104d40c330c3900912727ca0501 (diff) | |
download | cpython-git-2c992a0788536087bfd78da8f2c62b30a461d7e2.tar.gz |
backport computed gotos (#4753)
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 83 |
1 files changed, 83 insertions, 0 deletions
@@ -811,6 +811,7 @@ with_libm with_libc enable_big_digits enable_unicode +with_computed_gotos with_ensurepip ' ac_precious_vars='build_alias @@ -1494,6 +1495,9 @@ Optional Packages: --with-fpectl enable SIGFPE catching --with-libm=STRING math library --with-libc=STRING C library + --with(out)-computed-gotos + Use computed gotos in evaluation loop (enabled by + default on supported compilers) --with(out)-ensurepip=[=OPTION] "install" or "upgrade" using bundled pip, default is "no" @@ -14685,6 +14689,85 @@ for dir in $SRCDIRS; do mkdir $dir fi done + +# BEGIN_COMPUTED_GOTO +# Check for --with-computed-gotos +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-computed-gotos" >&5 +$as_echo_n "checking for --with-computed-gotos... " >&6; } + +# Check whether --with-computed-gotos was given. +if test "${with_computed_gotos+set}" = set; then : + withval=$with_computed_gotos; +if test "$withval" = yes +then + +$as_echo "#define USE_COMPUTED_GOTOS 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +if test "$withval" = no +then + +$as_echo "#define USE_COMPUTED_GOTOS 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no value specified" >&5 +$as_echo "no value specified" >&6; } +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports computed gotos" >&5 +$as_echo_n "checking whether $CC supports computed gotos... " >&6; } +if ${ac_cv_computed_gotos+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + if test "${with_computed_gotos+set}" = set; then + ac_cv_computed_gotos="$with_computed_gotos -- configured --with(out)-computed-gotos" + else + ac_cv_computed_gotos=no + fi +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int main(int argc, char **argv) +{ + static void *targets[1] = { &&LABEL1 }; + goto LABEL2; +LABEL1: + return 0; +LABEL2: + goto *targets[0]; + return 1; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_computed_gotos=yes +else + ac_cv_computed_gotos=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_computed_gotos" >&5 +$as_echo "$ac_cv_computed_gotos" >&6; } +case "$ac_cv_computed_gotos" in yes*) + +$as_echo "#define HAVE_COMPUTED_GOTOS 1" >>confdefs.h + +esac +# END_COMPUTED_GOTO + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } |