86f5269d4d72547340ac47b119c36dbffb5c0938
[oota-llvm.git] / autoconf / m4 / c_printf_a.m4
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_MSG_CHECKING([for printf %a format specifier])
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   ac_c_printf_a=yes,
25   ac_c_printf_a=no,
26   ac_c_printf_a=no)
27  AC_LANG_POP([C])
28  AC_MSG_RESULT($ac_c_printf_a)
29  if test "$ac_c_printf_a" = "yes"; then
30    AC_DEFINE([HAVE_PRINTF_A],[1],[Define to have the %a format string])
31  fi
32 ])