diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-12-05 19:20:09 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-12-05 19:20:09 +0000 |
commit | b7a9b746b4b78d03f16d4f0d581886665bd4626b (patch) | |
tree | 4bb49b15b398a0c9ce17bb92a264e15ebaff1996 /clang/test/OpenMP/target_map_messages.cpp | |
parent | 4eedcfc94617f68be24a27c9be0dd99d0ed1493b (diff) | |
download | bcm5719-llvm-b7a9b746b4b78d03f16d4f0d581886665bd4626b.tar.gz bcm5719-llvm-b7a9b746b4b78d03f16d4f0d581886665bd4626b.zip |
[OPENMP] Fix implicit mapping analysis.
Fixed processing of implicitly mapped objects in target-based executable
directives.
llvm-svn: 319814
Diffstat (limited to 'clang/test/OpenMP/target_map_messages.cpp')
-rw-r--r-- | clang/test/OpenMP/target_map_messages.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/OpenMP/target_map_messages.cpp b/clang/test/OpenMP/target_map_messages.cpp index 52a492920fb..0850d27f228 100644 --- a/clang/test/OpenMP/target_map_messages.cpp +++ b/clang/test/OpenMP/target_map_messages.cpp @@ -26,7 +26,14 @@ struct SA { T d; float e[I]; T *f; + int bf : 20; void func(int arg) { + #pragma omp target + { + a = 0.0; + func(arg); + bf = 20; + } #pragma omp target map(arg,a,d) {} #pragma omp target map(arg[2:2],a,d) // expected-error {{subscripted value is not an array or pointer}} @@ -271,7 +278,8 @@ void SAclient(int arg) { {} #pragma omp target { - u.B = 0; // expected-error {{mapped storage cannot be derived from a union}} + u.B = 0; + r.S.foo(); } #pragma omp target data map(to: r.C) //expected-note {{used here}} |