[llvm-commits] CVS: llvm/autoconf/acinclude.m4

Brian Gaeke gaeke at cs.uiuc.edu
Tue Jun 22 18:51:07 PDT 2004


Changes in directory llvm/autoconf:

acinclude.m4 updated: 1.5 -> 1.6

---
Log message:

Implement isnan check (AC_FUNC_ISNAN) in terms of three calls to a fairly
generic macro AC_SINGLE_CXX_CHECK.


---
Diffs of the changes:  (+31 -0)

Index: llvm/autoconf/acinclude.m4
diff -u llvm/autoconf/acinclude.m4:1.5 llvm/autoconf/acinclude.m4:1.6
--- llvm/autoconf/acinclude.m4:1.5	Mon Feb 23 15:12:44 2004
+++ llvm/autoconf/acinclude.m4	Tue Jun 22 18:42:49 2004
@@ -6251,3 +6251,34 @@
     AC_DEFINE([HAVE_LINK_R],[1],[Define if you can use -Wl,-R. to pass -R. to the linker, in order to add the current directory to the dynamic linker search path.])
   fi
 ])
+
+
+dnl AC_SINGLE_CXX_CHECK(DEFINEVAR, CACHEVAR, FUNCTION, HEADER, PROGRAM)
+dnl                     $1,        $2,       $3,       $4,     $5
+dnl 
+AC_DEFUN([AC_SINGLE_CXX_CHECK],
+[AC_CACHE_CHECK([for $3 in $4], [$2],
+ [AC_LANG_PUSH(C++)
+  AC_COMPILE_IFELSE(AC_LANG_SOURCE([$5]),[$2=yes],[$2=no])
+ AC_LANG_POP(C++)])
+ if test "$$2" = "yes"
+ then
+   AC_DEFINE($1, 1, [Define to 1 if your compiler defines $3 in the $4
+                     header file.])
+ fi])
+
+AC_DEFUN([AC_FUNC_ISNAN],[
+AC_SINGLE_CXX_CHECK([HAVE_ISNAN_IN_MATH_H],    [ac_cv_func_isnan_in_math_h],   
+                    [isnan], [<math.h>],
+                    [#include <math.h>
+                     int foo(float f) {return isnan(f);}])
+AC_SINGLE_CXX_CHECK([HAVE_ISNAN_IN_CMATH],     [ac_cv_func_isnan_in_cmath],    
+                    [isnan], [<cmath>],
+                    [#include <cmath>
+                     int foo(float f) {return isnan(f);}])
+AC_SINGLE_CXX_CHECK([HAVE_STD_ISNAN_IN_CMATH], [ac_cv_func_std_isnan_in_cmath],
+                    [std::isnan], [<cmath>],
+                    [#include <cmath>
+                     using std::isnan; int foo(float f) {return isnan(f);}])
+])
+





More information about the llvm-commits mailing list