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.

Reply via email to