Boost logo

Boost Users :

Subject: [Boost-users] [math] fpclassify.hpp fails to compile with Intel icc 11.1
From: Gabriel Redner (gredner_at_[hidden])
Date: 2011-01-03 11:53:09


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net