diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-09-13 11:12:35 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-09-13 11:12:35 +0000 |
commit | ed94bd9223c14d101eb54c45b02481c1fb00c91d (patch) | |
tree | 55b51867adef631e4dc47b4b96d77dccd02d4bf9 /clang/test/OpenMP/target_update_to_messages.cpp | |
parent | 67b042c207ef61d8d54d87811b43dd62a39ff966 (diff) | |
download | bcm5719-llvm-ed94bd9223c14d101eb54c45b02481c1fb00c91d.tar.gz bcm5719-llvm-ed94bd9223c14d101eb54c45b02481c1fb00c91d.zip |
[OPENMP] Allow all classes as mappable types.
According to upcoming OpenMP 5.0 all classes/structs are now considered
as mappable, even polymorphic and with static members.
llvm-svn: 313141
Diffstat (limited to 'clang/test/OpenMP/target_update_to_messages.cpp')
-rw-r--r-- | clang/test/OpenMP/target_update_to_messages.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/test/OpenMP/target_update_to_messages.cpp b/clang/test/OpenMP/target_update_to_messages.cpp index 641d0bd949a..9bde51e9839 100644 --- a/clang/test/OpenMP/target_update_to_messages.cpp +++ b/clang/test/OpenMP/target_update_to_messages.cpp @@ -14,8 +14,8 @@ class S2 { public: S2():a(0) { } S2(S2 &s2):a(s2.a) { } - static float S2s; // expected-note 4 {{mappable type cannot contain static members}} - static const float S2sc; // expected-note 4 {{mappable type cannot contain static members}} + static float S2s; + static const float S2sc; }; const float S2::S2sc = 0; const S2 b; @@ -94,8 +94,8 @@ T tmain(T argc) { #pragma omp target update to(y x) // expected-error {{expected ',' or ')' in 'to' clause}} #pragma omp target update to(argc > 0 ? x : y) // expected-error 2 {{expected expression containing only member accesses and/or array sections based on named variables}} #pragma omp target update to(S1) // expected-error {{'S1' does not refer to a value}}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} -#pragma omp target update to(a, b, c, d, f) // expected-error {{incomplete type 'S1' where a complete type is required}} expected-error 2 {{type 'S2' is not mappable to target}} -#pragma omp target update to(ba) // expected-error 2 {{type 'S2' is not mappable to target}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} +#pragma omp target update to(a, b, c, d, f) // expected-error {{incomplete type 'S1' where a complete type is required}} +#pragma omp target update to(ba) #pragma omp target update to(h) // expected-error {{threadprivate variables are not allowed in 'to' clause}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} #pragma omp target update to(k), from(k) // expected-error 2 {{variable can appear only once in OpenMP 'target update' construct}} expected-note 2 {{used here}} #pragma omp target update to(t), to(t[:5]) // expected-error 2 {{variable can appear only once in OpenMP 'target update' construct}} expected-note 2 {{used here}} @@ -147,8 +147,8 @@ int main(int argc, char **argv) { #pragma omp target update to(y x) // expected-error {{expected ',' or ')' in 'to' clause}} #pragma omp target update to(argc > 0 ? x : y) // expected-error {{expected expression containing only member accesses and/or array sections based on named variables}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} #pragma omp target update to(S1) // expected-error {{'S1' does not refer to a value}}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} -#pragma omp target update to(a, b, c, d, f) // expected-error {{incomplete type 'S1' where a complete type is required}} expected-error 2 {{type 'S2' is not mappable to target}} -#pragma omp target update to(ba) // expected-error 2 {{type 'S2' is not mappable to target}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} +#pragma omp target update to(a, b, c, d, f) // expected-error {{incomplete type 'S1' where a complete type is required}} +#pragma omp target update to(ba) #pragma omp target update to(h) // expected-error {{threadprivate variables are not allowed in 'to' clause}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} #pragma omp target update to(k), from(k) // expected-error {{variable can appear only once in OpenMP 'target update' construct}} expected-note {{used here}} #pragma omp target update to(t), to(t[:5]) // expected-error {{variable can appear only once in OpenMP 'target update' construct}} expected-note {{used here}} |