Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
2421 Discussions

including <tbb/compat/condition_varialbe> using gcc 4.7.2 with -std=c++0x

Seunghwa_Kang
Beginner
198 Views

Hello,

I think the conditional compilation code in tbb_config.h to set TBB_IMPLEMENT_CPP0X needs to be reviewed.

I tried to compile using gcc 4.7.2 with the -std=c++0x flag and got the following error.

error: ‘condition_variable’ in namespace ‘std’ does not name a type

Setting TBB_IMPLEMENT_CPP0X to 1 fixed the problem.

Thanks,

0 Kudos
4 Replies
Anton_P_Intel
Employee
198 Views

 

 

 

Vladimir_P_Intel2
198 Views

hello, you need to include compiler's <condition_variable>.

--Vladimir

dulantha_f
Beginner
198 Views

So in other words if the C++11 standard is defined all TBB code gets disabled and it's the programmer's responsibility to include the header files?

One could argue that logic should go into TBB so the programmer always uses the TBB header file and TBB decides when to use what.

Pardon my late question, I just ran into the same problem this week.

Vladimir_P_Intel2
198 Views

hello, you can to define TBB_IMPLEMENT_CPP0X explicitly to force tbb to use C++0x compatibility classes in C++11 mode of compiler otherwise it is disabled to avoid compatibility problems.

you can submit a patch with your vision of compatibility classes behavior via our contribution form https://www.threadingbuildingblocks.org/submit-contribution, then we can review it.

--Vladimir

Reply