diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/OpenMP/for_firstprivate_messages.cpp | 9 | ||||
-rw-r--r-- | clang/test/OpenMP/for_lastprivate_messages.cpp | 9 | ||||
-rw-r--r-- | clang/test/OpenMP/for_private_messages.cpp | 9 | ||||
-rw-r--r-- | clang/test/OpenMP/single_copyprivate_messages.cpp | 7 |
4 files changed, 30 insertions, 4 deletions
diff --git a/clang/test/OpenMP/for_firstprivate_messages.cpp b/clang/test/OpenMP/for_firstprivate_messages.cpp index a7333718c59..de24bede7b9 100644 --- a/clang/test/OpenMP/for_firstprivate_messages.cpp +++ b/clang/test/OpenMP/for_firstprivate_messages.cpp @@ -35,7 +35,7 @@ extern const int f; class S4 { int a; S4(); - S4(const S4 &s4); // expected-note 2 {{implicitly declared private here}} + S4(const S4 &s4); // expected-note 3 {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -152,6 +152,13 @@ int foomain(int argc, char **argv) { return 0; } +void bar(S4 a[2]) { +#pragma omp parallel +#pragma omp for firstprivate(a) // expected-error {{calling a private constructor of class 'S4'}} + for (int i = 0; i < 2; ++i) + foo(); +} + namespace A { double x; #pragma omp threadprivate(x) // expected-note {{defined as threadprivate or thread local}} diff --git a/clang/test/OpenMP/for_lastprivate_messages.cpp b/clang/test/OpenMP/for_lastprivate_messages.cpp index 632ed8446c4..49485aa0dfe 100644 --- a/clang/test/OpenMP/for_lastprivate_messages.cpp +++ b/clang/test/OpenMP/for_lastprivate_messages.cpp @@ -36,7 +36,7 @@ const S3 ca[5]; // expected-note {{global variable is predetermined as share extern const int f; // expected-note {{global variable is predetermined as shared}} class S4 { int a; - S4(); // expected-note 3 {{implicitly declared private here}} + S4(); // expected-note 4 {{implicitly declared private here}} S4(const S4 &s4); public: @@ -142,6 +142,13 @@ int foomain(int argc, char **argv) { return 0; } +void bar(S4 a[2]) { +#pragma omp parallel +#pragma omp for lastprivate(a) // expected-error {{calling a private constructor of class 'S4'}} + for (int i = 0; i < 2; ++i) + foo(); +} + namespace A { double x; #pragma omp threadprivate(x) // expected-note {{defined as threadprivate or thread local}} diff --git a/clang/test/OpenMP/for_private_messages.cpp b/clang/test/OpenMP/for_private_messages.cpp index 635a17d6e54..90793f38af9 100644 --- a/clang/test/OpenMP/for_private_messages.cpp +++ b/clang/test/OpenMP/for_private_messages.cpp @@ -26,7 +26,7 @@ public: const S3 ca[5]; class S4 { int a; - S4(); // expected-note {{implicitly declared private here}} + S4(); // expected-note 2 {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -108,6 +108,13 @@ int foomain(I argc, C **argv) { return 0; } +void bar(S4 a[2]) { +#pragma omp parallel +#pragma omp for private(a) // expected-error {{calling a private constructor of class 'S4'}} + for (int i = 0; i < 2; ++i) + foo(); +} + namespace A { double x; #pragma omp threadprivate(x) // expected-note {{defined as threadprivate or thread local}} diff --git a/clang/test/OpenMP/single_copyprivate_messages.cpp b/clang/test/OpenMP/single_copyprivate_messages.cpp index 793b4d5d0a5..cb31f0cd107 100644 --- a/clang/test/OpenMP/single_copyprivate_messages.cpp +++ b/clang/test/OpenMP/single_copyprivate_messages.cpp @@ -21,7 +21,7 @@ public: class S4 { int a; S4(); - S4 &operator=(const S4 &s4); // expected-note 3 {{implicitly declared private here}} + S4 &operator=(const S4 &s4); // expected-note 4 {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -105,6 +105,11 @@ T tmain(T argc, C **argv) { return T(); } +void bar(S4 a[2]) { +#pragma omp single copyprivate(a) // expected-error {{'operator=' is a private member of 'S4'}} + foo(); +} + namespace A { double x; #pragma omp threadprivate(x) |