I have been trying to debug a code for the last two weeks, and I have narrowed it down to this simple code which reproduces the issue.
#include <cassert> template <class T> class Vector{ public: Vector(){dim=0;} ~Vector(){}; inline int Dim() const{return dim;} private: int dim; }; int main(int argc, char **argv){ Vector<int> v; #pragma omp parallel for for(int trg=0;trg<v.Dim();trg++){ assert(trg<v.Dim()); Vector<int> vbuff[2]; } return 0; }
I compile the code with icpc version 12.1.6 as follows:
icpc -O0 -openmp main.cpp
When I run the executable, I get:
a.out: main.cpp:17: int main(int, char **): Assertion `trg<v.Dim()' failed.
Can someone help me figure out what is going on?
Additional details: OS is Scientific Linux release 6.6 (Carbon). CPU is Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Problema/Característica de Tce:
Other