Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Clang/LLVM and VC14

jimmey_j_
Beginner
361 Views

Hi,

I would like to report an issue, and contribute a solution. I'm using TBB with Clang/LLVM with VS2015/VC14 on Windows. This leads to a problem in tbb_config.h. In this configuration, both the macros __clang__ and _MSC_VER are defined. Approximately around line 170, the __clang__ case is treated first. As in this config, __clang__ is defined, this is the chosen branch and results in that c++11 and c++14 features are not available (because some of the macros referred to in that branch are not defined as we are dealing with the Dinkumware STL), while they are. So the solution to this is to put the _MSC_VER block before the __clang__ block, and things work as they should. Obviously more elaborate solutions are possible.

I would like to request to change tbb_config.h to reflect the above (as this is a pitb to change every update (and remember) due to far stricter security policy in WIN10)...

0 Kudos
1 Reply
DmitryVlad_P_Intel
361 Views

Jimmey,

Thanks for a very good catch.

The logic for C++ feature detection should be reworked.

You solution looks workable.

We will propagate the codebase with the fixes after validation.

Thanks again,

Dmitry

0 Kudos
Reply