Add tests for print from offload target.
authorAndrew Stubbs <ams@codesourcery.com>
Fri, 15 Nov 2019 10:49:10 +0000 (10:49 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Fri, 15 Nov 2019 10:49:10 +0000 (10:49 +0000)
2019-11-15  Andrew Stubbs  <ams@codesourcery.com>

libgomp/
* testsuite/libgomp.c/target-print-1.c: New file.
* testsuite/libgomp.fortran/target-print-1.f90: New file.
* testsuite/libgomp.oacc-c/print-1.c: New file.
* testsuite/libgomp.oacc-fortran/print-1.f90: New file.

From-SVN: r278284

libgomp/ChangeLog
libgomp/testsuite/libgomp.c/target-print-1.c [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/target-print-1.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-c/print-1.c [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/print-1.f90 [new file with mode: 0644]

index bcd14fa..afea495 100644 (file)
@@ -1,3 +1,10 @@
+2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
+
+       * testsuite/libgomp.c/target-print-1.c: New file.
+       * testsuite/libgomp.fortran/target-print-1.f90: New file.
+       * testsuite/libgomp.oacc-c/print-1.c: New file.
+       * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
+
 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
            Kwok Cheung Yeung  <kcy@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>
diff --git a/libgomp/testsuite/libgomp.c/target-print-1.c b/libgomp/testsuite/libgomp.c/target-print-1.c
new file mode 100644 (file)
index 0000000..5857b87
--- /dev/null
@@ -0,0 +1,17 @@
+/* Ensure that printf on the offload device works.  */
+
+/* { dg-do run } */
+/* { dg-output "The answer is 42(\n|\r\n|\r)+" } */
+
+#include <stdio.h>
+
+int var = 42;
+
+int
+main ()
+{
+#pragma omp target
+    {
+      printf ("The answer is %d\n", var);
+    }
+}
diff --git a/libgomp/testsuite/libgomp.fortran/target-print-1.f90 b/libgomp/testsuite/libgomp.fortran/target-print-1.f90
new file mode 100644 (file)
index 0000000..c71a095
--- /dev/null
@@ -0,0 +1,15 @@
+! Ensure that printf on the offload device works.
+
+! { dg-do run }
+! { dg-output "The answer is 42(\n|\r\n|\r)+" }
+! { dg-xfail-if "no write for nvidia" { openacc_nvidia_accel_selected } }                                                                                                                                                                
+
+program main
+  implicit none
+  integer :: var = 42
+
+!$omp target 
+  write (0, '("The answer is ", I2)') var
+!$omp end target
+
+end program main
diff --git a/libgomp/testsuite/libgomp.oacc-c/print-1.c b/libgomp/testsuite/libgomp.oacc-c/print-1.c
new file mode 100644 (file)
index 0000000..593885b
--- /dev/null
@@ -0,0 +1,17 @@
+/* Ensure that printf on the offload device works.  */
+
+/* { dg-do run } */
+/* { dg-output "The answer is 42(\n|\r\n|\r)+" } */
+
+#include <stdio.h>
+
+int var = 42;
+
+int
+main ()
+{
+#pragma acc parallel
+    {
+      printf ("The answer is %d\n", var);
+    }
+}
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/print-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/print-1.f90
new file mode 100644 (file)
index 0000000..a83280d
--- /dev/null
@@ -0,0 +1,15 @@
+! Ensure that printf on the offload device works.
+
+! { dg-do run }
+! { dg-output "The answer is 42(\n|\r\n|\r)+" }
+! { dg-xfail-if "no write for nvidia" { openacc_nvidia_accel_selected } }                                                                                                                                                                
+
+program main
+  implicit none
+  integer :: var = 42
+
+!$acc parallel
+  write (0, '("The answer is ", I2)') var
+!$acc end parallel
+
+end program main