/* PR c/65467 */ /* { dg-do compile } */ /* { dg-additional-options "-std=c11" } */ void f1 (void) { _Atomic int i; #pragma omp for /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp parallel for /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp simd /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp parallel for simd /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp for simd /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp for /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp parallel for /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp simd /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp parallel for simd /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp for simd /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; } void f2 (void) { _Atomic int i; #pragma omp distribute /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp distribute parallel for /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp distribute parallel for simd /* { dg-error "'_Atomic' iteration variable 'i'" } */ for (i = 0; i < 64; i++) ; #pragma omp distribute /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp distribute parallel for /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; #pragma omp distribute parallel for simd /* { dg-error "'_Atomic' iteration variable 'j'" } */ for (_Atomic int j = 0; j < 64; j++) ; } void f3 (void) { int i; _Atomic int j = 0; #pragma omp simd linear(j:2) /* { dg-error "'_Atomic' 'j' in 'linear' clause" } */ for (i = 0; i < 64; i++) j += 2; #pragma omp parallel for linear(j:1) /* { dg-error "'_Atomic' 'j' in 'linear' clause" } */ for (i = 0; i < 64; i++) j++; }