summaryrefslogtreecommitdiff
path: root/offload/test/offloading/target_map_for_member_data.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'offload/test/offloading/target_map_for_member_data.cpp')
-rw-r--r--offload/test/offloading/target_map_for_member_data.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/offload/test/offloading/target_map_for_member_data.cpp b/offload/test/offloading/target_map_for_member_data.cpp
new file mode 100644
index 000000000000..7fba71be6e66
--- /dev/null
+++ b/offload/test/offloading/target_map_for_member_data.cpp
@@ -0,0 +1,25 @@
+// clang-format off
+// RUN: %libomptarget-compilexx-generic && env LIBOMPTARGET_DEBUG=1 %libomptarget-run-generic 2>&1 | %fcheck-generic
+// clang-format on
+
+// REQUIRES: libomptarget-debug
+
+struct DataTy {
+ float a;
+ float b[3];
+};
+
+int main(int argc, char **argv) {
+ DataTy D;
+#pragma omp target map(D.a) map(D.b[ : 2])
+ {
+ D.a = 0;
+ D.b[0] = 1;
+ }
+ return 0;
+}
+// clang-format off
+// CHECK: omptarget --> Entry 0: Base=[[DAT_HST_PTR_BASE:0x.*]], Begin=[[DAT_HST_PTR_BASE]], Size=12
+// CHECK: omptarget --> Entry 1: Base=[[DAT_HST_PTR_BASE]], Begin=[[DAT_HST_PTR_BASE]], Size=4,
+// CHECK: omptarget --> Entry 2: Base=[[DAT_HST_PTR_BASE]], Begin=[[DATUM_HST_PTR_BASE:0x.*]], Size=8,
+// clang-format on