diff options
Diffstat (limited to 'clang/test/OpenMP')
-rw-r--r-- | clang/test/OpenMP/for_codegen.cpp | 15 | ||||
-rw-r--r-- | clang/test/OpenMP/for_loop_messages.cpp | 16 | ||||
-rw-r--r-- | clang/test/OpenMP/for_simd_loop_messages.cpp | 16 | ||||
-rw-r--r-- | clang/test/OpenMP/parallel_for_loop_messages.cpp | 16 | ||||
-rw-r--r-- | clang/test/OpenMP/parallel_for_simd_loop_messages.cpp | 16 | ||||
-rw-r--r-- | clang/test/OpenMP/simd_loop_messages.cpp | 16 |
6 files changed, 55 insertions, 40 deletions
diff --git a/clang/test/OpenMP/for_codegen.cpp b/clang/test/OpenMP/for_codegen.cpp index 7f7e9ba9d25..c56fcbce14b 100644 --- a/clang/test/OpenMP/for_codegen.cpp +++ b/clang/test/OpenMP/for_codegen.cpp @@ -411,6 +411,21 @@ void for_with_global_lcv() { } } +// CHECK-LABEL: for_with_references +void for_with_references() { +// CHECK: [[I:%.+]] = alloca i8, +// CHECK: [[CNT:%.+]] = alloca i8*, +// CHECK: [[CNT_PRIV:%.+]] = alloca i8, +// CHECK: call void @__kmpc_for_static_init_4( +// CHECK-NOT: load i8, i8* [[CNT]], +// CHECK: call void @__kmpc_for_static_fini( + char i = 0; + char &cnt = i; +#pragma omp for + for (cnt = 0; cnt < 2; ++cnt) + k = cnt; +} + struct Bool { Bool(bool b) : b(b) {} operator bool() const { return b; } diff --git a/clang/test/OpenMP/for_loop_messages.cpp b/clang/test/OpenMP/for_loop_messages.cpp index 8dbd9a3bff4..999c755768a 100644 --- a/clang/test/OpenMP/for_loop_messages.cpp +++ b/clang/test/OpenMP/for_loop_messages.cpp @@ -66,37 +66,37 @@ int test_iteration_spaces() { c[(int)fi] = a[(int)fi] + b[(int)fi]; } #pragma omp parallel -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (int &ref = ii; ref < 10; ref++) { } #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (int i; i < 10; i++) c[i] = a[i]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (int i = 0, j = 0; i < 10; ++i) c[i] = a[i]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (; ii < 10; ++ii) c[ii] = a[ii]; #pragma omp parallel // expected-warning@+3 {{expression result unused}} -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (ii + 1; ii < 10; ++ii) c[ii] = a[ii]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (c[ii] = 0; ii < 10; ++ii) c[ii] = a[ii]; @@ -446,7 +446,7 @@ int test_with_random_access_iterator() { for (GoodIter I = begin; I < end; ++I) ++I; #pragma omp parallel -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (GoodIter &I = begin; I < end; ++I) ++I; @@ -485,7 +485,7 @@ int test_with_random_access_iterator() { for (begin = begin0; begin < end; ++begin) ++begin; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for for (++begin; begin < end; ++begin) ++begin; diff --git a/clang/test/OpenMP/for_simd_loop_messages.cpp b/clang/test/OpenMP/for_simd_loop_messages.cpp index 99b8339840b..0463afd4c84 100644 --- a/clang/test/OpenMP/for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/for_simd_loop_messages.cpp @@ -63,37 +63,37 @@ int test_iteration_spaces() { c[(int)fi] = a[(int)fi] + b[(int)fi]; } #pragma omp parallel -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (int &ref = ii; ref < 10; ref++) { } #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (int i; i < 10; i++) c[i] = a[i]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (int i = 0, j = 0; i < 10; ++i) c[i] = a[i]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (; ii < 10; ++ii) c[ii] = a[ii]; #pragma omp parallel // expected-warning@+3 {{expression result unused}} -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (ii + 1; ii < 10; ++ii) c[ii] = a[ii]; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (c[ii] = 0; ii < 10; ++ii) c[ii] = a[ii]; @@ -430,7 +430,7 @@ int test_with_random_access_iterator() { for (GoodIter I = begin; I < end; ++I) ++I; #pragma omp parallel -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (GoodIter &I = begin; I < end; ++I) ++I; @@ -469,7 +469,7 @@ int test_with_random_access_iterator() { for (begin = begin0; begin < end; ++begin) ++begin; #pragma omp parallel -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp for simd for (++begin; begin < end; ++begin) ++begin; diff --git a/clang/test/OpenMP/parallel_for_loop_messages.cpp b/clang/test/OpenMP/parallel_for_loop_messages.cpp index b33128a4a45..e66ff114925 100644 --- a/clang/test/OpenMP/parallel_for_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_for_loop_messages.cpp @@ -54,32 +54,32 @@ int test_iteration_spaces() { for (double fi = 0; fi < 10.0; fi++) { c[(int)fi] = a[(int)fi] + b[(int)fi]; } -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (int &ref = ii; ref < 10; ref++) { } -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (int i; i < 10; i++) c[i] = a[i]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (int i = 0, j = 0; i < 10; ++i) c[i] = a[i]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (; ii < 10; ++ii) c[ii] = a[ii]; // expected-warning@+3 {{expression result unused}} -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (ii + 1; ii < 10; ++ii) c[ii] = a[ii]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (c[ii] = 0; ii < 10; ++ii) c[ii] = a[ii]; @@ -374,7 +374,7 @@ int test_with_random_access_iterator() { #pragma omp parallel for for (GoodIter I = begin; I < end; ++I) ++I; -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (GoodIter &I = begin; I < end; ++I) ++I; @@ -405,7 +405,7 @@ int test_with_random_access_iterator() { #pragma omp parallel for for (begin = begin0; begin < end; ++begin) ++begin; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for for (++begin; begin < end; ++begin) ++begin; diff --git a/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp index 94bd37c596e..7d527cad598 100644 --- a/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp @@ -54,32 +54,32 @@ int test_iteration_spaces() { for (double fi = 0; fi < 10.0; fi++) { c[(int)fi] = a[(int)fi] + b[(int)fi]; } -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (int &ref = ii; ref < 10; ref++) { } -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (int i; i < 10; i++) c[i] = a[i]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (int i = 0, j = 0; i < 10; ++i) c[i] = a[i]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (; ii < 10; ++ii) c[ii] = a[ii]; // expected-warning@+3 {{expression result unused}} -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (ii + 1; ii < 10; ++ii) c[ii] = a[ii]; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (c[ii] = 0; ii < 10; ++ii) c[ii] = a[ii]; @@ -375,7 +375,7 @@ int test_with_random_access_iterator() { #pragma omp parallel for simd for (GoodIter I = begin; I < end; ++I) ++I; -// expected-error@+2 {{variable must be of integer or random access iterator type}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (GoodIter &I = begin; I < end; ++I) ++I; @@ -406,7 +406,7 @@ int test_with_random_access_iterator() { #pragma omp parallel for simd for (begin = begin0; begin < end; ++begin) ++begin; -// expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} +// expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp parallel for simd for (++begin; begin < end; ++begin) ++begin; diff --git a/clang/test/OpenMP/simd_loop_messages.cpp b/clang/test/OpenMP/simd_loop_messages.cpp index bd7dd5bf52d..677f2b9a2e4 100644 --- a/clang/test/OpenMP/simd_loop_messages.cpp +++ b/clang/test/OpenMP/simd_loop_messages.cpp @@ -45,32 +45,32 @@ int test_iteration_spaces() { for (double fi = 0; fi < 10.0; fi++) { c[(int)fi] = a[(int)fi] + b[(int)fi]; } - // expected-error@+2 {{variable must be of integer or random access iterator type}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (int &ref = ii; ref < 10; ref++) { } - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (int i; i < 10; i++) c[i] = a[i]; - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (int i = 0, j = 0; i < 10; ++i) c[i] = a[i]; - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (;ii < 10; ++ii) c[ii] = a[ii]; // expected-warning@+3 {{expression result unused}} - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (ii + 1;ii < 10; ++ii) c[ii] = a[ii]; - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (c[ii] = 0;ii < 10; ++ii) c[ii] = a[ii]; @@ -364,7 +364,7 @@ int test_with_random_access_iterator() { #pragma omp simd for (GoodIter I = begin; I < end; ++I) ++I; - // expected-error@+2 {{variable must be of integer or random access iterator type}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (GoodIter &I = begin; I < end; ++I) ++I; @@ -393,7 +393,7 @@ int test_with_random_access_iterator() { #pragma omp simd for (begin = GoodIter(1,2); begin < end; ++begin) ++begin; - // expected-error@+2 {{initialization clause of OpenMP for loop must be of the form 'var = init' or 'T var = init'}} + // expected-error@+2 {{initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')}} #pragma omp simd for (++begin; begin < end; ++begin) ++begin; |