summaryrefslogtreecommitdiffstats
path: root/test/OpenMP/parallel_private_messages.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2013-10-01 05:32:34 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2013-10-01 05:32:34 +0000
commitd195bc38fd424b0c928e3c354038a8ca6e2ccac3 (patch)
treec5ed9ca360cee5c6b7728ebca1ba95c71c9db57b /test/OpenMP/parallel_private_messages.cpp
parentde8eaa2bf22ab0a59118289ee8b97f6ac6a97196 (diff)
[OpenMP] Added parsing and semantic analysis for firstprivate clause
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191730 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/OpenMP/parallel_private_messages.cpp')
-rw-r--r--test/OpenMP/parallel_private_messages.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/OpenMP/parallel_private_messages.cpp b/test/OpenMP/parallel_private_messages.cpp
index 102bf300aa..2037d56daf 100644
--- a/test/OpenMP/parallel_private_messages.cpp
+++ b/test/OpenMP/parallel_private_messages.cpp
@@ -64,10 +64,18 @@ int main(int argc, char **argv) {
#pragma omp parallel private(S2::S2s) // expected-error {{shared variable cannot be private}}
#pragma omp parallel private(e, g) // expected-error 2 {{private variable must have an accessible, unambiguous default constructor}}
#pragma omp parallel private(threadvar) // expected-error {{threadprivate or thread local variable cannot be private}}
+ #pragma omp parallel shared(i), private(i) // expected-error {{shared variable cannot be private}} expected-note {{defined as shared}}
+ foo();
+ #pragma omp parallel firstprivate(i) private(i) // expected-error {{firstprivate variable cannot be private}} expected-note {{defined as firstprivate}}
foo();
#pragma omp parallel private(i)
#pragma omp parallel private(j) // expected-error {{arguments of OpenMP clause 'private' cannot be of reference type 'int &'}}
foo();
+ #pragma omp parallel firstprivate(i)
+ for (int k = 0; k < 10; ++k) {
+ #pragma omp parallel private(i)
+ foo();
+ }
return 0;
}