summaryrefslogtreecommitdiff
path: root/projects/sample/autoconf/m4/c_printf_a.m4
diff options
context:
space:
mode:
Diffstat (limited to 'projects/sample/autoconf/m4/c_printf_a.m4')
-rw-r--r--projects/sample/autoconf/m4/c_printf_a.m431
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 0000000000..61bac8c9dd
--- /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
+])