aboutsummaryrefslogtreecommitdiffstats
path: root/autoconf/m4/c_printf_a.m4
blob: 61bac8c9dd1189d50e78f2ba3fd78777ef7897a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
])