summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorAlexey Kopytov <Alexey.Kopytov@sun.com>2009-03-25 15:48:29 +0300
committerAlexey Kopytov <Alexey.Kopytov@sun.com>2009-03-25 15:48:29 +0300
commit38828c175744a9cbdf9aa82a4975162770130656 (patch)
tree14174933b6b2a2738ea715fb4d699627731962c5 /configure.in
parent724d3e8a0609930c060d1ebd206e5dda072ef9db (diff)
parent73cb9b6e04a110c3fd71f68bcf3bc0cbfcc4f326 (diff)
downloadmariadb-git-38828c175744a9cbdf9aa82a4975162770130656.tar.gz
Manual merge.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in21
1 files changed, 21 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index d86218bd782..ca8c0dc09b4 100644
--- a/configure.in
+++ b/configure.in
@@ -2085,6 +2085,27 @@ esac
AC_MSG_CHECKING(for isinf in <math.h>)
AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r],
AC_MSG_RESULT(yes)
+ AC_MSG_CHECKING(whether isinf() is safe to use in C code)
+ AC_TRY_RUN([
+#include <math.h>
+int main()
+{
+ double a= 10.0;
+ double b= 1e308;
+
+ return !isinf(a * b);
+}
+],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_DEFINE([HAVE_BROKEN_ISINF], [1],
+ [Define to 1 if isinf() uses 80-bit register for intermediate values])
+ ],
+ [
+# Let's be optimistic when cross-compiling, since the only compiler known
+# to be affected by this isinf() bug is GCC 4.3 on 32-bit x86.
+ AC_MSG_RESULT([[cross-compiling, assuming 'yes']])
+ ])
AC_MSG_CHECKING(whether isinf() can be used in C++ code)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS