Add 'libgomp.c/address-space-1.c'
authorThomas Schwinge <thomas@codesourcery.com>
Thu, 19 Aug 2021 13:14:51 +0000 (15:14 +0200)
committerThomas Schwinge <thomas@codesourcery.com>
Mon, 23 Aug 2021 15:46:08 +0000 (17:46 +0200)
Intel MIC (emulated) offloading execution failure remains to be analyzed.

libgomp/
* testsuite/libgomp.c/address-space-1.c: New file.

Co-authored-by: Jakub Jelinek <jakub@redhat.com>
libgomp/testsuite/libgomp.c/address-space-1.c [new file with mode: 0644]

diff --git a/libgomp/testsuite/libgomp.c/address-space-1.c b/libgomp/testsuite/libgomp.c/address-space-1.c
new file mode 100644 (file)
index 0000000..6ad57de
--- /dev/null
@@ -0,0 +1,28 @@
+/* Verify OMP instances of variables with address space.  */
+
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target offload_device_nonshared_as } */
+
+/* With Intel MIC (emulated) offloading:
+       offload error: process on the device 0 unexpectedly exited with code 0
+   { dg-xfail-run-if TODO { offload_device_intel_mic } } */
+
+#include <assert.h>
+
+int __seg_fs a;
+
+int
+main (void)
+{
+  // a = 123; // SIGSEGV
+  int b;
+#pragma omp target map(alloc: a) map(from: b)
+  {
+    a = 321; // no SIGSEGV (given 'offload_device_nonshared_as')
+    asm volatile ("" : : "g" (&a) : "memory");
+    b = a;
+  }
+  assert (b == 321);
+
+  return 0;
+}