(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
gomp/
_Atomic-2.c
       1  /* PR c/65467 */
       2  /* { dg-do compile } */
       3  /* { dg-additional-options "-std=c11" } */
       4  
       5  void
       6  f1 (void)
       7  {
       8    _Atomic int i;
       9    #pragma omp for		/* { dg-error "'_Atomic' iteration variable 'i'" } */
      10    for (i = 0; i < 64; i++)
      11      ;
      12    #pragma omp parallel for	/* { dg-error "'_Atomic' iteration variable 'i'" } */
      13    for (i = 0; i < 64; i++)
      14      ;
      15    #pragma omp simd		/* { dg-error "'_Atomic' iteration variable 'i'" } */
      16    for (i = 0; i < 64; i++)
      17      ;
      18    #pragma omp parallel for simd	/* { dg-error "'_Atomic' iteration variable 'i'" } */
      19    for (i = 0; i < 64; i++)
      20      ;
      21    #pragma omp for simd		/* { dg-error "'_Atomic' iteration variable 'i'" } */
      22    for (i = 0; i < 64; i++)
      23      ;
      24    #pragma omp for		/* { dg-error "'_Atomic' iteration variable 'j'" } */
      25    for (_Atomic int j = 0; j < 64; j++)
      26      ;
      27    #pragma omp parallel for	/* { dg-error "'_Atomic' iteration variable 'j'" } */
      28    for (_Atomic int j = 0; j < 64; j++)
      29      ;
      30    #pragma omp simd		/* { dg-error "'_Atomic' iteration variable 'j'" } */
      31    for (_Atomic int j = 0; j < 64; j++)
      32      ;
      33    #pragma omp parallel for simd	/* { dg-error "'_Atomic' iteration variable 'j'" } */
      34    for (_Atomic int j = 0; j < 64; j++)
      35      ;
      36    #pragma omp for simd		/* { dg-error "'_Atomic' iteration variable 'j'" } */
      37    for (_Atomic int j = 0; j < 64; j++)
      38      ;
      39  }
      40  
      41  void
      42  f2 (void)
      43  {
      44    _Atomic int i;
      45    #pragma omp distribute		/* { dg-error "'_Atomic' iteration variable 'i'" } */
      46    for (i = 0; i < 64; i++)
      47      ;
      48    #pragma omp distribute parallel for	/* { dg-error "'_Atomic' iteration variable 'i'" } */
      49    for (i = 0; i < 64; i++)
      50      ;
      51    #pragma omp distribute parallel for simd /* { dg-error "'_Atomic' iteration variable 'i'" } */
      52    for (i = 0; i < 64; i++)
      53      ;
      54    #pragma omp distribute		/* { dg-error "'_Atomic' iteration variable 'j'" } */
      55    for (_Atomic int j = 0; j < 64; j++)
      56      ;
      57    #pragma omp distribute parallel for	/* { dg-error "'_Atomic' iteration variable 'j'" } */
      58    for (_Atomic int j = 0; j < 64; j++)
      59      ;
      60    #pragma omp distribute parallel for simd /* { dg-error "'_Atomic' iteration variable 'j'" } */
      61    for (_Atomic int j = 0; j < 64; j++)
      62      ;
      63  }
      64  
      65  void
      66  f3 (void)
      67  {
      68    int i;
      69    _Atomic int j = 0;
      70    #pragma omp simd linear(j:2)		/* { dg-error "'_Atomic' 'j' in 'linear' clause" } */
      71    for (i = 0; i < 64; i++)
      72      j += 2;
      73    #pragma omp parallel for linear(j:1)	/* { dg-error "'_Atomic' 'j' in 'linear' clause" } */
      74    for (i = 0; i < 64; i++)
      75      j++;
      76  }