------- Comment #2 from E dot Kuemmerle at fz-juelich dot de 2007-09-19 09:40 ------- Here is a self-contained example:
template<class T, int Sz> class Vector { public: explicit Vector() {} ~Vector() {} private: T m_data[Sz]; }; int main() { Vector<int,3> a[10]; int i; #pragma omp parallel { #pragma omp for schedule(dynamic) for (i=0; i<10; ++i) { // do something } #pragma omp master { a[0] = a[1]; } #pragma omp for schedule(dynamic) for (i=0; i<10; ++i) { // do something } } } I can avoid the internal compiler error by: 1) removing the '-fopenmp' option 2) changing the '#pragma omp' statements as shown in the original example 3) removing the destructor '~Vector() {}' from 'class Vector' in the new example! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33435