Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame^] | 1 | # |
| 2 | # Determine if the printf() functions have the %a format character. |
| 3 | # This is modified from: |
| 4 | # http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_slist.html |
| 5 | AC_DEFUN([AC_C_PRINTF_A], |
| 6 | [AC_CACHE_CHECK([if printf has the %a format character],[llvm_cv_c_printf_a], |
| 7 | [AC_LANG_PUSH([C]) |
| 8 | AC_RUN_IFELSE([ |
| 9 | AC_LANG_PROGRAM([[ |
| 10 | #include <stdio.h> |
| 11 | #include <stdlib.h> |
| 12 | ]],[[ |
| 13 | volatile double A, B; |
| 14 | char Buffer[100]; |
| 15 | A = 1; |
| 16 | A /= 10.0; |
| 17 | sprintf(Buffer, "%a", A); |
| 18 | B = atof(Buffer); |
| 19 | if (A != B) |
| 20 | return (1); |
| 21 | if (A != 0x1.999999999999ap-4) |
| 22 | return (1); |
| 23 | return (0);]])], |
| 24 | llvm_cv_c_printf_a=yes, |
| 25 | llvmac_cv_c_printf_a=no, |
| 26 | llvmac_cv_c_printf_a=no) |
| 27 | AC_LANG_POP([C])]) |
| 28 | if test "$llvm_cv_c_printf_a" = "yes"; then |
| 29 | AC_DEFINE([HAVE_PRINTF_A],[1],[Define to have the %a format string]) |
| 30 | fi |
| 31 | ]) |