Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
Show First 20 Lines • Show All 87 Lines • ▼ Show 20 Lines | for (c[ii] = 0; ii < 10; ++ii) | ||||
c[ii] = a[ii]; | c[ii] = a[ii]; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// Ok to skip parenthesises. | // Ok to skip parenthesises. | ||||
for (((ii)) = 0; ii < 10; ++ii) | for (((ii)) = 0; ii < 10; ++ii) | ||||
c[ii] = a[ii]; | c[ii] = a[ii]; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'i'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'i'}} | ||||
for (int i = 0; i; i++) | for (int i = 0; i; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+2 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'i'}} | // expected-error@+2 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'i'}} | ||||
// expected-error@+1 {{increment clause of OpenMP for loop must perform simple addition or subtraction on loop variable 'i'}} | // expected-error@+1 {{increment clause of OpenMP for loop must perform simple addition or subtraction on loop variable 'i'}} | ||||
for (int i = 0; jj < kk; ii++) | for (int i = 0; jj < kk; ii++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'i'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'i'}} | ||||
for (int i = 0; !!i; i++) | for (int i = 0; !!i; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
// Ok | // Ok | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
for (int i = 0; i != 1; i++) | for (int i = 0; i != 1; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'i'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'i'}} | ||||
for (int i = 0;; i++) | for (int i = 0;; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
// Ok. | // Ok. | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
for (int i = 11; i > 10; i--) | for (int i = 11; i > 10; i--) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
▲ Show 20 Lines • Show All 272 Lines • ▼ Show 20 Lines | |||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} | // expected-error@+1 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} | ||||
for (++begin; begin < end; ++begin) | for (++begin; begin < end; ++begin) | ||||
++begin; | ++begin; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
for (begin = end; begin < end; ++begin) | for (begin = end; begin < end; ++begin) | ||||
++begin; | ++begin; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'I'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'I'}} | ||||
for (GoodIter I = begin; I - I; ++I) | for (GoodIter I = begin; I - I; ++I) | ||||
++I; | ++I; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'I'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'I'}} | ||||
for (GoodIter I = begin; begin < end; ++I) | for (GoodIter I = begin; begin < end; ++I) | ||||
++I; | ++I; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'I'}} | // expected-error@+1 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'I'}} | ||||
for (GoodIter I = begin; !I; ++I) | for (GoodIter I = begin; !I; ++I) | ||||
++I; | ++I; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
// expected-note@+2 {{loop step is expected to be negative due to this condition}} | // expected-note@+2 {{loop step is expected to be negative due to this condition}} | ||||
// expected-error@+1 {{increment expression must cause 'I' to decrease on each iteration of OpenMP for loop}} | // expected-error@+1 {{increment expression must cause 'I' to decrease on each iteration of OpenMP for loop}} | ||||
for (GoodIter I = begin; I >= end; I = I + 1) | for (GoodIter I = begin; I >= end; I = I + 1) | ||||
++I; | ++I; | ||||
#pragma omp target teams distribute simd | #pragma omp target teams distribute simd | ||||
▲ Show 20 Lines • Show All 208 Lines • Show Last 20 Lines |