diff options
author | Matthias Klose <doko@ubuntu.com> | 2012-03-15 19:31:06 +0100 |
---|---|---|
committer | Matthias Klose <doko@ubuntu.com> | 2012-03-15 19:31:06 +0100 |
commit | 3b739b149b4bdb85ed593b0d0a0c9d2790dbd988 (patch) | |
tree | ba7edeb1738a7b634e5f1c54a2968d29400566ee /configure | |
parent | 93a0ef16c939581fb366897d2f07c395601f8ddf (diff) | |
download | cpython-git-3b739b149b4bdb85ed593b0d0a0c9d2790dbd988.tar.gz |
- Issue #14324: Fix configure tests for cross builds.
when using gcc, use a compilation test for the cross build check for long long format.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 31 |
1 files changed, 30 insertions, 1 deletions
@@ -13805,7 +13805,36 @@ $as_echo_n "checking for %lld and %llu printf() format support... " >&6; } $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - ac_cv_have_long_long_format=no + ac_cv_have_long_long_format="cross -- assuming no" + if test x$GCC = xyes; then + save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Werror -Wformat" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include <stdio.h> + #include <stddef.h> + +int +main () +{ + + char *buffer; + sprintf(buffer, "%lld", (long long)123); + sprintf(buffer, "%lld", (long long)-123); + sprintf(buffer, "%llu", (unsigned long long)123); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_long_long_format=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$save_CFLAGS + fi else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ |