Link with -rdynamic instead of -Wl,-export-dynamic.
[oota-llvm.git] / autoconf / m4 / c_printf_a.m4
index 62ed2ac8d7538d11c298f9f2602a9e2a5a8ed688..61bac8c9dd1189d50e78f2ba3fd78777ef7897a8 100644 (file)
@@ -3,29 +3,29 @@
 # 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_MSG_CHECKING([for printf %a format specifier])
-       AC_LANG_SAVE
-       AC_LANG_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);]]]),
-               ac_c_printf_a=yes,ac_c_printf_a=no)
-       AC_LANG_RESTORE
       AC_MSG_RESULT($ac_c_printf_a)
      if test "$ac_c_printf_a" = "yes"; then
-               AC_DEFINE([HAVE_PRINTF_A],[1],[Define to have the %a format string])
      fi
+[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
 ])