diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2013-10-01 05:32:34 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2013-10-01 05:32:34 +0000 |
commit | d195bc38fd424b0c928e3c354038a8ca6e2ccac3 (patch) | |
tree | c5ed9ca360cee5c6b7728ebca1ba95c71c9db57b /test/OpenMP/parallel_private_messages.cpp | |
parent | de8eaa2bf22ab0a59118289ee8b97f6ac6a97196 (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.cpp | 8 |
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; } |