0_1871 error when tcheck option is used with template and openmp

Reference Number : DPD200160267

Version : all Linux* versions

Product : Intel® C++ 11.1, tcheck 3.1 latest

Operating System : Linux*

Problem Description : 
This problem occurs only in Linux* . In Windows* it works well.
For doing binary instrumentation for threading analysis with Intel tool like ThreadChecker, so as to find data-races, deadlocks, etc, we need to compile/build the application using   -tcheck option. We can also not use  -tcheck as option, just use -g , but in that case its the source instrumentation, and many false positives may be reported, and correct binary information may not be mapped to the source.

With below test-case, using  <icpc -c -g -tcheck -openmp test.cpp> , gives 0_1871 <internal error> . It comes in the line of openmp pragma. And it comes for mostly all STL containers like maps, vectors, valarrays, to name a few.

#include <iostream>   
#include <valarray>   
int build()   
{   
std::valarraylt;intgt; items(100);   
  
        #pragma omp parallel for           /// error reported here : 0_1871   
        for(int m=0; mlt;items.size(); m++){   
        }   
return 0;   
}  


Resolution Status : This issue will be resolved in the later Linux* compiler releases.



[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.