[Bug c++/56883] error openmp parallel for order

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 9 08:25:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56883

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-09 08:25:17 UTC ---
This testcase is invalid OpenMP, the loop iteration variables are predetermined
private and thus can't be specified in shared clause.
That said,
void
foo (int ***x)
{
  int i, j, k;
#pragma omp parallel for
  for (i = 0; i < 10; ++i)
    {
    #pragma omp parallel shared(j)
      #pragma omp for
        for (j = 0; j < 10; ++j)
          {
          #pragma omp parallel for
            for (k = 0; k < 10; ++k)
              x[i][j][k] = k;
          }
    }
}
is valid and still ICEs.  Will have a look.



More information about the Gcc-bugs mailing list