(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
pr59152.c
       1  /* PR middle-end/59152 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-fopenmp -fipa-pure-const" } */
       4  
       5  extern int b[];
       6  void
       7  foo (void)
       8  {
       9    unsigned long v1, v2, v3;
      10    #pragma omp parallel for schedule(static, 32) collapse(3)
      11      for (v1 = 0; v1 < 20; v1 += 2)
      12        for (v2 = __LONG_MAX__; v2 > __LONG_MAX__ - 30; v2 -= 3)
      13  	for (v3 = 10; v3 > 0; v3--)
      14  	  #pragma omp atomic
      15  	    b[v3]++;
      16  }
      17  
      18  void
      19  bar (void)
      20  {
      21    unsigned long v1, v2, v3;
      22    #pragma omp parallel for schedule(static) collapse(3)
      23      for (v1 = 0; v1 < 20; v1 += 2)
      24        for (v2 = __LONG_MAX__; v2 > __LONG_MAX__ - 30; v2 -= 3)
      25  	for (v3 = 10; v3 > 0; v3--)
      26  	  #pragma omp atomic
      27  	    b[v3]++;
      28  }
      29  
      30  void
      31  baz (void)
      32  {
      33    unsigned long v1, v2, v3;
      34    #pragma omp parallel for schedule(runtime) collapse(3)
      35      for (v1 = 0; v1 < 20; v1 += 2)
      36        for (v2 = __LONG_MAX__; v2 > __LONG_MAX__ - 30; v2 -= 3)
      37  	for (v3 = 10; v3 > 0; v3--)
      38  	  #pragma omp atomic
      39  	    b[v3]++;
      40  }