Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/taskloop_simd_loop_messages.cpp
Show First 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | |||||
#pragma omp parallel | #pragma omp parallel | ||||
// Ok to skip parenthesises. | // Ok to skip parenthesises. | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (((ii)) = 0; ii < 10; ++ii) | for (((ii)) = 0; ii < 10; ++ii) | ||||
c[ii] = a[ii]; | c[ii] = a[ii]; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (int i = 0; i; i++) | for (int i = 0; i; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// expected-error@+3 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', or '>=') of loop variable 'i'}} | // expected-error@+3 {{condition of OpenMP for loop must be a relational comparison ('<', '<=', '>', '>=', or '!=') of loop variable 'i'}} | ||||
// expected-error@+2 {{increment clause of OpenMP for loop must perform simple addition or subtraction on loop variable 'i'}} | // expected-error@+2 {{increment clause of OpenMP for loop must perform simple addition or subtraction on loop variable 'i'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (int i = 0; jj < kk; ii++) | for (int i = 0; jj < kk; ii++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (int i = 0; !!i; i++) | for (int i = 0; !!i; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
// Ok | // Ok | ||||
#pragma omp parallel | #pragma omp parallel | ||||
#pragma omp taskloop simd | #pragma omp taskloop 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 parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (int i = 0;; i++) | for (int i = 0;; i++) | ||||
c[i] = a[i]; | c[i] = a[i]; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// Ok. | // Ok. | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (int i = 11; i > 10; i--) | for (int i = 11; i > 10; i--) | ||||
▲ Show 20 Lines • Show All 347 Lines • ▼ Show 20 Lines | |||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (++begin; begin < end; ++begin) | for (++begin; begin < end; ++begin) | ||||
++begin; | ++begin; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (begin = end; begin < end; ++begin) | for (begin = end; begin < end; ++begin) | ||||
++begin; | ++begin; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (GoodIter I = begin; I - I; ++I) | for (GoodIter I = begin; I - I; ++I) | ||||
++I; | ++I; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (GoodIter I = begin; begin < end; ++I) | for (GoodIter I = begin; begin < end; ++I) | ||||
++I; | ++I; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// 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'}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (GoodIter I = begin; !I; ++I) | for (GoodIter I = begin; !I; ++I) | ||||
++I; | ++I; | ||||
#pragma omp parallel | #pragma omp parallel | ||||
// expected-note@+3 {{loop step is expected to be negative due to this condition}} | // expected-note@+3 {{loop step is expected to be negative due to this condition}} | ||||
// expected-error@+2 {{increment expression must cause 'I' to decrease on each iteration of OpenMP for loop}} | // expected-error@+2 {{increment expression must cause 'I' to decrease on each iteration of OpenMP for loop}} | ||||
#pragma omp taskloop simd | #pragma omp taskloop simd | ||||
for (GoodIter I = begin; I >= end; I = I + 1) | for (GoodIter I = begin; I >= end; I = I + 1) | ||||
▲ Show 20 Lines • Show All 218 Lines • Show Last 20 Lines |