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 | d5af8e472d6016f3dca2a33fa9d92bcf35aad43b (patch) | |
tree | 833c55056134f116b594e8e3db9a3c64d0e7ec03 /clang/test/OpenMP/parallel_private_messages.cpp | |
parent | de111a425c0a8e38e4a60f1c5ca310546717a876 (diff) | |
download | bcm5719-llvm-d5af8e472d6016f3dca2a33fa9d92bcf35aad43b.tar.gz bcm5719-llvm-d5af8e472d6016f3dca2a33fa9d92bcf35aad43b.zip |
[OpenMP] Added parsing and semantic analysis for firstprivate clause
llvm-svn: 191730
Diffstat (limited to 'clang/test/OpenMP/parallel_private_messages.cpp')
-rw-r--r-- | clang/test/OpenMP/parallel_private_messages.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/OpenMP/parallel_private_messages.cpp b/clang/test/OpenMP/parallel_private_messages.cpp index 102bf300aa2..2037d56daf0 100644 --- a/clang/test/OpenMP/parallel_private_messages.cpp +++ b/clang/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; } |