summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/target_parallel_private_messages.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/OpenMP/target_parallel_private_messages.cpp')
-rw-r--r--clang/test/OpenMP/target_parallel_private_messages.cpp54
1 files changed, 48 insertions, 6 deletions
diff --git a/clang/test/OpenMP/target_parallel_private_messages.cpp b/clang/test/OpenMP/target_parallel_private_messages.cpp
index 47eae41a2c9..fabd37d4b39 100644
--- a/clang/test/OpenMP/target_parallel_private_messages.cpp
+++ b/clang/test/OpenMP/target_parallel_private_messages.cpp
@@ -61,28 +61,47 @@ int foomain(I argc, C **argv) {
I i;
I &j = i;
#pragma omp target parallel private // expected-error {{expected '(' after 'private'}}
+{}
#pragma omp target parallel private( // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private() // expected-error {{expected expression}}
+{}
#pragma omp target parallel private(argc // expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private(argc, // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private(argc > 0 ? argv[1] : argv[2]) // expected-error {{expected variable name}}
+{}
#pragma omp target parallel private(argc argv) // expected-error {{expected ',' or ')' in 'private' clause}}
+{}
#pragma omp target parallel private(argc)
+{}
#pragma omp target parallel private(S1) // expected-error {{'S1' does not refer to a value}}
+{}
#pragma omp target parallel private(a, b) // expected-error {{private variable with incomplete type 'S1'}}
+{}
#pragma omp target parallel private (a, b, c, d, f) // expected-error {{a private variable with incomplete type 'S1'}} expected-error 3 {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(argv[1]) // expected-error {{expected variable name}}
+{}
#pragma omp target parallel private(ba)
+{}
#pragma omp target parallel private(ca) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(da) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(S2::S2s) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
+{}
#pragma omp target parallel private(threadvar, B::x) // expected-error 2 {{threadprivate or thread local variable cannot be private}}
+ {}
#pragma omp target parallel shared(i), private(i) // expected-error {{shared variable cannot be private}} expected-note {{defined as shared}}
foo();
#pragma omp target parallel firstprivate(i) private(i) // expected-error {{firstprivate variable cannot be private}} expected-note {{defined as firstprivate}}
foo();
#pragma omp target parallel private(i)
+ {}
#pragma omp target parallel private(j)
foo();
#pragma omp parallel firstprivate(i)
@@ -94,19 +113,21 @@ int foomain(I argc, C **argv) {
#pragma omp target parallel private(m) // OK
foo();
#pragma omp target parallel private(h) // expected-error {{threadprivate or thread local variable cannot be private}}
+{}
#pragma omp target parallel private(B::x) // expected-error {{threadprivate or thread local variable cannot be private}}
#pragma omp parallel
{
int v = 0;
int i;
-#pragma omp target parallel private(i)
- {}
}
#pragma omp target parallel shared(i)
+{}
#pragma omp target parallel private(i)
+{}
#pragma omp target parallel private(j)
+{}
#pragma omp target parallel private(i)
- {}
+{}
static int si;
#pragma omp target parallel private(si) // OK
{}
@@ -127,28 +148,47 @@ int main(int argc, char **argv) {
int i;
int &j = i;
#pragma omp target parallel private // expected-error {{expected '(' after 'private'}}
+{}
#pragma omp target parallel private( // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private() // expected-error {{expected expression}}
+{}
#pragma omp target parallel private(argc // expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private(argc, // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
+{}
#pragma omp target parallel private(argc > 0 ? argv[1] : argv[2]) // expected-error {{expected variable name}}
+{}
#pragma omp target parallel private(argc argv) // expected-error {{expected ',' or ')' in 'private' clause}}
+{}
#pragma omp target parallel private(argc)
+{}
#pragma omp target parallel private(S1) // expected-error {{'S1' does not refer to a value}}
+{}
#pragma omp target parallel private(a, b) // expected-error {{private variable with incomplete type 'S1'}}
+{}
#pragma omp target parallel private (a, b, c, d, f) // expected-error {{a private variable with incomplete type 'S1'}} expected-error 3 {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(argv[1]) // expected-error {{expected variable name}}
+{}
#pragma omp target parallel private(ba)
+{}
#pragma omp target parallel private(ca) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(da) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(S2::S2s) // expected-error {{shared variable cannot be private}}
+{}
#pragma omp target parallel private(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}}
+{}
#pragma omp target parallel private(threadvar, B::x) // expected-error 2 {{threadprivate or thread local variable cannot be private}}
+ {}
#pragma omp target parallel shared(i), private(i) // expected-error {{shared variable cannot be private}} expected-note {{defined as shared}}
foo();
#pragma omp target parallel firstprivate(i) private(i) // expected-error {{firstprivate variable cannot be private}} expected-note {{defined as firstprivate}}
foo();
#pragma omp target parallel private(i)
+ {}
#pragma omp target parallel private(j)
foo();
#pragma omp parallel firstprivate(i)
@@ -160,18 +200,20 @@ int main(int argc, char **argv) {
#pragma omp target parallel private(m) // OK
foo();
#pragma omp target parallel private(h) // expected-error {{threadprivate or thread local variable cannot be private}}
+{}
#pragma omp target parallel private(B::x) // expected-error {{threadprivate or thread local variable cannot be private}}
#pragma omp parallel
{
int i;
-#pragma omp target parallel private(i)
- {}
}
#pragma omp target parallel shared(i)
+{}
#pragma omp target parallel private(i)
+{}
#pragma omp target parallel private(j)
+{}
#pragma omp target parallel private(i)
- {}
+{}
static int si;
#pragma omp target parallel private(si) // OK
{}
OpenPOWER on IntegriCloud