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.

Warning 2259 in TBB range definitions

Zilvinas_R_
Beginner
163 Views

 

Hello all, 

In In my code I get warning 2259 for tbb::interface9::internal::depth_t={unsigned char}" (see bellow). According to forum posts from 2014 this problem supposed to be fixed in icpc 15.+ version of compiler. I wonder is it safe just suppress this warning and assume false positive by compiler?    

/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/partitioner.h(188): warning #2259: non-pointer conversion from "int" to "tbb::interface9::internal::depth_t={unsigned char}" may lose significant bits

          my_head = (my_head + MaxCapacity - 1) % MaxCapacity;

                  ^

          detected during:

            instantiation of "tbb::interface9::internal::range_vector<T, MaxCapacity>::~range_vector() [with T=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, MaxCapacity=(tbb::interface9::internal::depth_t={unsigned char})'\b']" at line 432

            instantiation of "void tbb::interface9::internal::balancing_partition_type<Mode>::work_balance(StartType &, Range &) [with Mode=tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type>, StartType=tbb::interface9::internal::start_for<tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, const tbb::auto_partitioner>,

                      Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>]" at line 255

            instantiation of "void tbb::interface9::internal::partition_type_base<Partition>::execute(StartType &, Range &) [with Partition=tbb::interface9::internal::auto_partition_type, StartType=tbb::interface9::internal::start_for<tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, const tbb::auto_partitioner>,

                      Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>]" at line 127 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            instantiation of "tbb::task *tbb::interface9::internal::start_for<Range, Body, Partitioner>::execute() [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, Partitioner=const tbb::auto_partitioner]" at line 60 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            implicit generation of "tbb::interface9::internal::start_for<Range, Body, Partitioner>::~start_for() [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, Partitioner=const tbb::auto_partitioner]" at line 60 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            instantiation of class "tbb::interface9::internal::start_for<Range, Body, Partitioner> [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, Partitioner=const tbb::auto_partitioner]" at line 60 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            instantiation of "tbb::interface9::internal::start_for<Range, Body, Partitioner>::start_for(const Range &, const Body &, Partitioner &) [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, Partitioner=const tbb::auto_partitioner]" at line 88 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            instantiation of "void tbb::interface9::internal::start_for<Range, Body, Partitioner>::run(const Range &, const Body &, Partitioner &) [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>, Partitioner=const tbb::auto_partitioner]" at line 186 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for.h"

            instantiation of "void tbb::parallel_for(const Range &, const Body &) [with Range=tbb::blocked_range<std::__1::__wrap_iter<COneIntsBlock *>>, Body=tbb::internal::parallel_for_each_body_for<lambda [](COneIntsBlock &)->void, std::__1::__wrap_iter<COneIntsBlock *>>]" at line 83 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for_each.h"

            instantiation of "void tbb::internal::parallel_for_each_impl<Iterator, Function, std::__1::random_access_iterator_tag>::doit(Iterator, Iterator, const Function &) [with Iterator=std::__1::__wrap_iter<COneIntsBlock *>, Function=lambda [](COneIntsBlock &)->void]" at line 118 of "/opt/intel//compilers_and_libraries_2017.4.181/mac/tbb/include/tbb/parallel_for_each.h"

            instantiation of "void tbb::parallel_for_each(Iterator, Iterator, const Function &) [with Iterator=std::__1::__wrap_iter<COneIntsBlock *>, Function=lambda [](COneIntsBlock &)->void]" at line 48 of

 

0 Kudos
1 Reply
Alexei_K_Intel
Employee
163 Views

Hi,

The warning looks like a false positive because all values in the expression are always positive. Unfortunately, I do not know what versions of compiler issue this warning.

Regards,
Alex

Reply