You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Boost does not work properly on modern macOS, for example 10.11, with Intel C++ Compiler.
When compiling with default language/standard/compatibility flags, select_compiler_config.hpp picks up intel.hpp which does not define BOOST_NO_RTTI and BOOST_NO_RTTI due to INTEL_RTTI. This is wrong, since Intel C++ 2016 builds upon LLVM/Clang which does not have RTTI. As a result, if your application uses RTTI-dependent operators (like typeid()), it breaks.
Boost does not work properly on modern macOS, for example 10.11, with Intel C++ Compiler.
When compiling with default language/standard/compatibility flags, select_compiler_config.hpp picks up intel.hpp which does not define BOOST_NO_RTTI and BOOST_NO_RTTI due to INTEL_RTTI. This is wrong, since Intel C++ 2016 builds upon LLVM/Clang which does not have RTTI. As a result, if your application uses RTTI-dependent operators (like typeid()), it breaks.
When you compile with the following flags:
-no-use-intel-optimized-headers -no-intel-extensions -no-icc -no-gcc
...then Boost picks up clang.hpp. But the Clang version handling in this header file is broken since Apple has different versioning scheme for Clang.
However, if you use the flag -clangxx-name= with a custom Clang version, then the Clang versioning scheme is back to normal.
When building with Intel C++ on macOS, both Clang and Intel compiler specific settings need to be considered.
Moved from Trac.
The text was updated successfully, but these errors were encountered: