(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
pr56883.c
       1  /* PR middle-end/56883 */
       2  /* { dg-do compile }
       3  /* { dg-options "-O2 -fopenmp" } */
       4  
       5  void
       6  f1 (int ***x)
       7  {
       8    int i, j, k;
       9  #pragma omp parallel for
      10    for (i = 0; i < 10; ++i)
      11      {
      12      #pragma omp parallel shared(j)
      13        #pragma omp for
      14  	for (j = 0; j < 10; ++j)
      15  	  {
      16  	  #pragma omp parallel for
      17  	      for (k = 0; k < 10; ++k)
      18  		x[i][j][k] = k;
      19  	  }
      20      }
      21  }
      22  
      23  void
      24  f2 (int ***x)
      25  {
      26    int i, j, k;
      27  #pragma omp parallel for schedule(static,1)
      28    for (i = 0; i < 10; ++i)
      29      {
      30      #pragma omp parallel shared(j)
      31        #pragma omp for schedule(static,1)
      32  	for (j = 0; j < 10; ++j)
      33  	  {
      34  	  #pragma omp parallel for schedule(static,1)
      35  	      for (k = 0; k < 10; ++k)
      36  		x[i][j][k] = k;
      37  	  }
      38      }
      39  }
      40  
      41  void
      42  f3 (int ***x)
      43  {
      44    int i, j, k;
      45  #pragma omp parallel for schedule(runtime)
      46    for (i = 0; i < 10; ++i)
      47      {
      48      #pragma omp parallel shared(j)
      49        #pragma omp for schedule(runtime)
      50  	for (j = 0; j < 10; ++j)
      51  	  {
      52  	  #pragma omp parallel for schedule(runtime)
      53  	      for (k = 0; k < 10; ++k)
      54  		x[i][j][k] = k;
      55  	  }
      56      }
      57  }