#
# This function determins if the the HUGE_VAL macro is compilable with the 
# -pedantic switch or not. XCode < 2.4.1 doesn't get it right.
#
AC_DEFUN([AC_HUGE_VAL_CHECK],[
  AC_CACHE_CHECK([for HUGE_VAL sanity], [ac_cv_huge_val_sanity],[
    AC_LANG_PUSH([C++])
    ac_save_CXXFLAGS=$CXXFLAGS
    CXXFLAGS=-pedantic
    AC_RUN_IFELSE(
      AC_LANG_PROGRAM(
        [#include <math.h>],
        [double x = HUGE_VAL; return x != x; ]),
      [ac_cv_huge_val_sanity=yes],[ac_cv_huge_val_sanity=no],
      [ac_cv_huge_val_sanity=yes])
    CXXFLAGS=$ac_save_CXXFLAGS
    AC_LANG_POP([C++])
    ])
  AC_SUBST(HUGE_VAL_SANITY,$ac_cv_huge_val_sanity)
])
