summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/OpenMP/for_firstprivate_messages.cpp9
-rw-r--r--clang/test/OpenMP/for_lastprivate_messages.cpp9
-rw-r--r--clang/test/OpenMP/for_private_messages.cpp9
-rw-r--r--clang/test/OpenMP/single_copyprivate_messages.cpp7
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)
OpenPOWER on IntegriCloud