The OpenMP 2.5 SPEC states: 2.8.2 threadprivate Directive ... Each copy of a threadprivate object is initialized once, in the manner specified by the program, but at an unspecified point in the program prior to the first reference to that copy.
I attached a test example that works with gcc, icc, but not Open64. The attached patch fixes the problem in the Open64 runtime. Could a gatekeeper review/approve this change when they have the chance? Thanks, Doug
/* { dg-do run } */ int foo = 123; #pragma omp threadprivate(foo) void abort(void); int main() { #pragma omp parallel { if (foo != 123) abort(); } return 0; }
bug742.patch
Description: bug742.patch
------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d
_______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel