Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boost is not correctly configured on modern Mac with Intel C++ Compiler #235

Open
jzmaddock opened this issue Jul 31, 2018 · 0 comments
Open

Comments

@jzmaddock
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant