Hi Vladimir,
It appears to be a bug with the Intel compiler.
Along the lines you suggested, here is an example. Note that it needs the
using namespace std and the 3.14f (explicitly f and not default or d) to
appear.
The Intel team is aware of the problem.
Thanks
b.
/tmp> cat test.cc
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
std::cout << isfinite(3.14f) << std::endl;
return 0;
}
/tmp> icpc test.cc
/usr/include/c++/4.3.3/cmath(522): error: identifier "__builtin_isfinite" is
undefined
return __builtin_isfinite(__type(__f));
^
detected during instantiation of
"__gnu_cxx::__enable_if
Bill O'Hara wrote:
Hi, I guess this may be a known problem but I wonder if there is any straightforward workaround.
I need to install boost on our development machines which run Linux and have g++ 4.3.3 installed. We are wondering about also support the Intel c++ compiler (version 11.1). When trying to build boost 1.39 we get many errors during compilation due to g++ builtins like __builtin_isfinite not being found. Example below.
Perhaps I've missed something but using the intel toolset when building still seems to involve using these g++ specific features. Is there a workaround?
For example:
"icpc" -c -xc++ -O3 -w1 -inline-level=2 -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"." -c -o
"bin.v2/libs/math/build/intel-linux-11.1/release/threading-multi/lround.o"
"libs/math/build/../src/tr1/lround.cpp"
...failed intel-linux.compile.c++
bin.v2/libs/math/build/intel-linux-11.1/release/threading-multi/lround.o...
intel-linux.compile.c++
bin.v2/libs/math/build/intel-linux-11.1/release/threading-multi/nextafter.o
/usr/include/c++/4.3.3/cmath(522): error: identifier "__builtin_isfinite" is undefined return __builtin_isfinite(__type(__f)); ^
It appears to be some misconfiguration of the intel compiler. If you create a source file containing just:
#include <cmath>
and try to compile it with icpc, does it work? If not, you probably have to ask Intel support what's going on.
- Volodya
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users