diff gcc/testsuite/c-c++-common/goacc/default-4.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/c-c++-common/goacc/default-4.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,66 @@
+/* OpenACC default clause inside data construct.  */
+
+/* { dg-additional-options "-fdump-tree-gimple" } */
+
+void f1 ()
+{
+  int f1_a = 2;
+  float f1_b[2];
+
+#pragma acc data copyin (f1_a) copyout (f1_b)
+  /* { dg-final { scan-tree-dump-times "omp target oacc_data map\\(force_from:f1_b \[^\\)\]+\\) map\\(force_to:f1_a" 1 "gimple" } } */
+  {
+#pragma acc kernels
+    /* { dg-final { scan-tree-dump-times "omp target oacc_kernels map\\(tofrom:f1_b \[^\\)\]+\\) map\\(tofrom:f1_a" 1 "gimple" } } */
+    {
+      f1_b[0] = f1_a;
+    }
+#pragma acc parallel
+    /* { dg-final { scan-tree-dump-times "omp target oacc_parallel map\\(tofrom:f1_b \[^\\)\]+\\) map\\(tofrom:f1_a" 1 "gimple" } } */
+    {
+      f1_b[0] = f1_a;
+    }
+  }
+}
+
+void f2 ()
+{
+  int f2_a = 2;
+  float f2_b[2];
+
+#pragma acc data copyin (f2_a) copyout (f2_b)
+  /* { dg-final { scan-tree-dump-times "omp target oacc_data map\\(force_from:f2_b \[^\\)\]+\\) map\\(force_to:f2_a" 1 "gimple" } } */
+  {
+#pragma acc kernels default (none)
+    /* { dg-final { scan-tree-dump-times "omp target oacc_kernels default\\(none\\) map\\(tofrom:f2_b \[^\\)\]+\\) map\\(tofrom:f2_a" 1 "gimple" } } */
+    {
+      f2_b[0] = f2_a;
+    }
+#pragma acc parallel default (none)
+    /* { dg-final { scan-tree-dump-times "omp target oacc_parallel default\\(none\\) map\\(tofrom:f2_b \[^\\)\]+\\) map\\(tofrom:f2_a" 1 "gimple" } } */
+    {
+      f2_b[0] = f2_a;
+    }
+  }
+}
+
+void f3 ()
+{
+  int f3_a = 2;
+  float f3_b[2];
+
+#pragma acc data copyin (f3_a) copyout (f3_b)
+  /* { dg-final { scan-tree-dump-times "omp target oacc_data map\\(force_from:f3_b \[^\\)\]+\\) map\\(force_to:f3_a" 1 "gimple" } } */
+  {
+#pragma acc kernels default (present)
+    /* { dg-final { scan-tree-dump-times "omp target oacc_kernels default\\(present\\) map\\(tofrom:f3_b \[^\\)\]+\\) map\\(tofrom:f3_a" 1 "gimple" } } */
+    {
+      f3_b[0] = f3_a;
+    }
+#pragma acc parallel default (present)
+    /* { dg-final { scan-tree-dump-times "omp target oacc_parallel default\\(present\\) map\\(tofrom:f3_b \[^\\)\]+\\) map\\(tofrom:f3_a" 1 "gimple" } } */
+    {
+      f3_b[0] = f3_a;
+    }
+  }
+}