diff options
Diffstat (limited to 'test/OpenMP/parallel_for_simd_lastprivate_messages.cpp')
-rw-r--r-- | test/OpenMP/parallel_for_simd_lastprivate_messages.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp b/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp index e85e28b..bd1a6d5 100644 --- a/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp +++ b/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp @@ -16,7 +16,7 @@ public: S2() : a(0) {} S2(S2 &s2) : a(s2.a) {} const S2 &operator=(const S2 &) const; - static float S2s; + static float S2s; // expected-note {{static data member is predetermined as shared}} static const float S2sc; }; const float S2::S2sc = 0; // expected-note {{static data member is predetermined as shared}} @@ -66,7 +66,7 @@ int foomain(int argc, char **argv) { I e(4); I g(5); int i; - int &j = i; // expected-note {{'j' defined here}} + int &j = i; #pragma omp parallel for simd lastprivate // expected-error {{expected '(' after 'lastprivate'}} for (int k = 0; k < argc; ++k) ++k; @@ -118,7 +118,7 @@ int foomain(int argc, char **argv) { } #pragma omp parallel shared(i) #pragma omp parallel private(i) -#pragma omp parallel for simd lastprivate(j) // expected-error {{arguments of OpenMP clause 'lastprivate' cannot be of reference type}} +#pragma omp parallel for simd lastprivate(j) for (int k = 0; k < argc; ++k) ++k; #pragma omp parallel for simd lastprivate(i) @@ -143,7 +143,7 @@ int main(int argc, char **argv) { S3 m; S6 n(2); int i; - int &j = i; // expected-note {{'j' defined here}} + int &j = i; #pragma omp parallel for simd lastprivate // expected-error {{expected '(' after 'lastprivate'}} for (i = 0; i < argc; ++i) foo(); @@ -190,7 +190,7 @@ int main(int argc, char **argv) { #pragma omp parallel for simd lastprivate(xa) // OK for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for simd lastprivate(S2::S2s) +#pragma omp parallel for simd lastprivate(S2::S2s) // expected-error {{shared variable cannot be lastprivate}} for (i = 0; i < argc; ++i) foo(); #pragma omp parallel for simd lastprivate(S2::S2sc) // expected-error {{shared variable cannot be lastprivate}} @@ -222,7 +222,7 @@ int main(int argc, char **argv) { #pragma omp parallel for simd lastprivate(xa) for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for simd lastprivate(j) // expected-error {{arguments of OpenMP clause 'lastprivate' cannot be of reference type}} +#pragma omp parallel for simd lastprivate(j) for (i = 0; i < argc; ++i) foo(); #pragma omp parallel for simd firstprivate(m) lastprivate(m) // expected-error {{'operator=' is a private member of 'S3'}} @@ -231,5 +231,9 @@ int main(int argc, char **argv) { #pragma omp parallel for simd lastprivate(n) firstprivate(n) // OK for (i = 0; i < argc; ++i) foo(); + static int si; +#pragma omp parallel for simd lastprivate(si) // OK + for (i = 0; i < argc; ++i) + si = i + 3; return foomain<S4, S5>(argc, argv); // expected-note {{in instantiation of function template specialization 'foomain<S4, S5>' requested here}} } |