
Hi all, The following code fails to compile with icc 11.1 under Linux: ========== #include <boost/math/special_functions/fpclassify.hpp> int main() {} ========== The full error is: ========== /usr/include/c++/4.4.5/cmath(500): error: identifier "__builtin_fpclassify" is undefined return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, ^ detected during: instantiation of "__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type std::fpclassify(_Tp) [with _Tp=long double]" at line 104 of "/usr/include/boost/math/special_functions/fpclassify.hpp" instantiation of "bool boost::math_detail::is_nan_helper(T, const boost::true_type &) [with T=long double]" at line 137 of "/usr/include/boost/math/special_functions/fpclassify.hpp" instantiation of "int boost::math::detail::fpclassify_imp(T, const boost::math::detail::generic_tag<true> &) [with T=long double]" at line 242 of "/usr/include/boost/math/special_functions/fpclassify.hpp" compilation aborted for main.cpp (code 2) ========== The same code compiles fine under icc 12.0. I also tried explicitly adding: #define BOOST_MATH_DISABLE_STD_FPCLASSIFY before including the header, but got the same error. The math library docs say that icc 10.0 and later are fully supported with no serious caveats, so I presume this is a bug. Should I file a ticket? Please let me know if there is any other information about my system which could be useful to know. Thanks, -Gabe