(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
gomp/
for-11.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-std=c99 -fopenmp" } */
       3  
       4  extern void baz (int);
       5  
       6  void foo (int j, int k)
       7  {
       8    int i;
       9  
      10    /* Valid loops.  */
      11    #pragma omp for
      12    for (i = 0; i < 10; i++)
      13      baz (i);
      14  
      15    #pragma omp for
      16    for (i = j; i <= 10; i+=4)
      17      baz (i);
      18  
      19    #pragma omp for
      20    for (i = j; i > 0; i = i - 1)
      21      baz (j);
      22  
      23    #pragma omp for
      24    for (i = j; i >= k; i--)
      25      baz (i);
      26  
      27    #pragma omp for
      28    for (int l = j; l < 10; l++)
      29      baz (l);
      30  
      31    /* Malformed parallel loops.  */
      32    #pragma omp for
      33    i = 0;		/* { dg-error "for statement expected" } */
      34    for ( ; i < 10; )
      35      {
      36        baz (i);
      37        i++;
      38      }
      39  
      40    #pragma omp for
      41    for (i = 0; ; i--)	/* { dg-error "missing controlling predicate" } */
      42      {
      43        if (i >= 10)
      44  	break;		/* { dg-error "break" } */
      45        baz (i);
      46      }
      47  
      48    #pragma omp for
      49    for (i = 0;
      50         i < 10 && j > 4; /* { dg-error "invalid controlling predicate" } */
      51         i-=3)
      52      baz (i);
      53  
      54    #pragma omp for
      55    for (i = 0;
      56         i < 10;
      57         i-=3, j+=2)	/* { dg-error "invalid increment expression" } */
      58      baz (i);
      59  
      60    int m = 0;
      61    #pragma omp for
      62    for (; m < 10; m++)	/* { dg-error "expected" } */
      63      baz (m);
      64  
      65    m = 0;
      66    #pragma omp for
      67    for (int n = 0; m < 10; m++)	/* { dg-error "invalid controlling predicate|invalid increment expression" } */
      68      baz (m);
      69  
      70    #pragma omp for
      71    for (m = 0; m < 10; i++)	/* { dg-error "invalid increment expression" } */
      72      baz (m);
      73  }