diff options
Diffstat (limited to 'projects/sample/autoconf/m4/c_printf_a.m4')
-rw-r--r-- | projects/sample/autoconf/m4/c_printf_a.m4 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/projects/sample/autoconf/m4/c_printf_a.m4 b/projects/sample/autoconf/m4/c_printf_a.m4 new file mode 100644 index 0000000..61bac8c --- /dev/null +++ b/projects/sample/autoconf/m4/c_printf_a.m4 @@ -0,0 +1,31 @@ +# +# Determine if the printf() functions have the %a format character. +# This is modified from: +# http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_slist.html +AC_DEFUN([AC_C_PRINTF_A], +[AC_CACHE_CHECK([if printf has the %a format character],[llvm_cv_c_printf_a], +[AC_LANG_PUSH([C]) + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ +#include <stdio.h> +#include <stdlib.h> +]],[[ +volatile double A, B; +char Buffer[100]; +A = 1; +A /= 10.0; +sprintf(Buffer, "%a", A); +B = atof(Buffer); +if (A != B) + return (1); +if (A != 0x1.999999999999ap-4) + return (1); +return (0);]])], + llvm_cv_c_printf_a=yes, + llvmac_cv_c_printf_a=no, + llvmac_cv_c_printf_a=no) + AC_LANG_POP([C])]) + if test "$llvm_cv_c_printf_a" = "yes"; then + AC_DEFINE([HAVE_PRINTF_A],[1],[Define to have the %a format string]) + fi +]) |