summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2015-08-25 16:24:23 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2015-08-25 16:24:23 +0000
commit9cd0b44c280904d4abb2e9962c78297db12b6828 (patch)
tree6cfac212bbe8c315c620a26fa8cbf7143a678b97
parent79272f68f2cbd2b29c5e606a721fed0028a180c3 (diff)
downloadmpfr-9cd0b44c280904d4abb2e9962c78297db12b6828.tar.gz
[acinclude.m4] Instead of checking whether the 'j' printf length
modifier is working, try to find one that works. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9660 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--acinclude.m425
1 files changed, 17 insertions, 8 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 91131273a..778917c2d 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -164,24 +164,33 @@ if test "$ac_cv_type_intmax_t" = yes; then
if test "$mpfr_cv_have_intmax_max" = "yes"; then
AC_DEFINE(MPFR_HAVE_INTMAX_MAX,1,[Define if you have a working INTMAX_MAX.])
fi
- AC_CACHE_CHECK([for working 'j' printf length modifier],
- mpfr_cv_have_printf_j, [
+ AC_CACHE_CHECK([for working printf length modifier for intmax_t],
+ mpfr_cv_printf_maxlm, [
saved_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -I$srcdir/src"
- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+ for modifier in j ll l
+ do
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
#include <string.h>
#include "mpfr-intmax.h"
]],[[
char s[64];
- sprintf (s, "%jd %ju", (intmax_t) -17, (uintmax_t) 42);
+ sprintf (s, "%${modifier}d %${modifier}u",
+ (intmax_t) -17, (uintmax_t) 42);
return strcmp (s, "-17 42") != 0;
]])],
- mpfr_cv_have_printf_j=yes, mpfr_cv_have_printf_j=no)
+ mpfr_cv_printf_maxlm=${modifier}; break,
+ mpfr_cv_printf_maxlm=none,
+dnl We assume that j is working when cross-compiling.
+ mpfr_cv_printf_maxlm=j; break
+ )
+ done
CPPFLAGS="$saved_CPPFLAGS"
])
- if test "$mpfr_cv_have_printf_j" = "yes"; then
- AC_DEFINE(MPFR_HAVE_PRINTF_J,1,
- [Define if you have a working 'j' printf length modifier])
+ if test "$mpfr_cv_printf_maxlm" != "none"; then
+ AC_DEFINE_UNQUOTED([MPFR_PRINTF_MAXLM],["$mpfr_cv_printf_maxlm"],
+ [Define to a working printf length modifier for intmax_t])
fi
fi