diff options
author | Arpith Chacko Jacob <acjacob@us.ibm.com> | 2016-01-26 18:48:41 +0000 |
---|---|---|
committer | Arpith Chacko Jacob <acjacob@us.ibm.com> | 2016-01-26 18:48:41 +0000 |
commit | e955b3d3fe12a05e7639aa336d6945fa9427c0dc (patch) | |
tree | 3423de8c95bccda8edcb7065c05cd525a8acc621 /clang/test/OpenMP/target_parallel_default_messages.cpp | |
parent | 6ac3f739ca4cd90b41388cc50070a6bca85b6842 (diff) | |
download | bcm5719-llvm-e955b3d3fe12a05e7639aa336d6945fa9427c0dc.tar.gz bcm5719-llvm-e955b3d3fe12a05e7639aa336d6945fa9427c0dc.zip |
[OpenMP] Parsing + sema for target parallel directive.
Summary:
This patch adds parsing + sema for the target parallel directive and its clauses along with testcases.
Reviewers: ABataev
Differential Revision: http://reviews.llvm.org/D16553
Rebased to current trunk and updated test cases.
llvm-svn: 258832
Diffstat (limited to 'clang/test/OpenMP/target_parallel_default_messages.cpp')
-rw-r--r-- | clang/test/OpenMP/target_parallel_default_messages.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/OpenMP/target_parallel_default_messages.cpp b/clang/test/OpenMP/target_parallel_default_messages.cpp new file mode 100644 index 00000000000..7d2990b780a --- /dev/null +++ b/clang/test/OpenMP/target_parallel_default_messages.cpp @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -o - %s + +void foo(); + +int main(int argc, char **argv) { + #pragma omp target parallel default // expected-error {{expected '(' after 'default'}} + #pragma omp target parallel default ( // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} expected-error {{expected ')'}} expected-note {{to match this '('}} + #pragma omp target parallel default () // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} + #pragma omp target parallel default (none // expected-error {{expected ')'}} expected-note {{to match this '('}} + #pragma omp target parallel default (shared), default(shared) // expected-error {{directive '#pragma omp target parallel' cannot contain more than one 'default' clause}} + #pragma omp target parallel default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} + foo(); + + #pragma omp target parallel default(none) + ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} + + #pragma omp target parallel default(none) + #pragma omp target parallel default(shared) + ++argc; + return 0; +} |