blob: 61bac8c9dd1189d50e78f2ba3fd78777ef7897a8 [file] [log] [blame]
Reid Spencer491f6812004-09-07 06:56:14 +00001#
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
Reid Spencer1ac1d402004-11-25 04:44:46 +00005AC_DEFUN([AC_C_PRINTF_A],
Reid Spencer92746212004-11-27 21:59:57 +00006[AC_CACHE_CHECK([if printf has the %a format character],[llvm_cv_c_printf_a],
Reid Spencer1ac1d402004-11-25 04:44:46 +00007[AC_LANG_PUSH([C])
8 AC_RUN_IFELSE([
9 AC_LANG_PROGRAM([[
Reid Spencer12de17d2004-09-19 22:31:49 +000010#include <stdio.h>
11#include <stdlib.h>
12]],[[
13volatile double A, B;
14char Buffer[100];
15A = 1;
16A /= 10.0;
17sprintf(Buffer, "%a", A);
18B = atof(Buffer);
19if (A != B)
20 return (1);
21if (A != 0x1.999999999999ap-4)
22 return (1);
23return (0);]])],
Reid Spencer92746212004-11-27 21:59:57 +000024 llvm_cv_c_printf_a=yes,
25 llvmac_cv_c_printf_a=no,
26 llvmac_cv_c_printf_a=no)
Reid Spencer1ac1d402004-11-25 04:44:46 +000027 AC_LANG_POP([C])])
Reid Spencer92746212004-11-27 21:59:57 +000028 if test "$llvm_cv_c_printf_a" = "yes"; then
Reid Spencer12de17d2004-09-19 22:31:49 +000029 AC_DEFINE([HAVE_PRINTF_A],[1],[Define to have the %a format string])
30 fi
Reid Spencer491f6812004-09-07 06:56:14 +000031])