diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2023-06-02 23:11:00 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2023-06-14 11:41:45 +0200 |
commit | e76af2162c7b768ef0a913d485c51a80b08a1020 (patch) | |
tree | 008f98a2e52cb30f77152b0db22ded2988870874 /gcc/testsuite/gfortran.fortran-torture | |
parent | 9c03391ba447ff86038d6a34c90ae737c3915b5f (diff) | |
download | gcc-e76af2162c7b768ef0a913d485c51a80b08a1020.zip gcc-e76af2162c7b768ef0a913d485c51a80b08a1020.tar.gz gcc-e76af2162c7b768ef0a913d485c51a80b08a1020.tar.bz2 |
Add 'libgomp.{,oacc-}fortran/fortran-torture_execute_math.f90'
..., via 'include'ing the existing 'gfortran.fortran-torture/execute/math.f90',
which therefore is enhanced for optional OpenACC 'serial', OpenMP 'target'
usage.
gcc/testsuite/
* gfortran.fortran-torture/execute/math.f90: Enhance for optional
OpenACC 'serial', OpenMP 'target' usage.
libgomp/
* testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
* testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
Likewise.
Diffstat (limited to 'gcc/testsuite/gfortran.fortran-torture')
-rw-r--r-- | gcc/testsuite/gfortran.fortran-torture/execute/math.f90 | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 index 17cc78f..6c97eba 100644 --- a/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 +++ b/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 @@ -1,9 +1,15 @@ ! Program to test mathematical intrinsics + +! This file is also 'include'd in: +! - 'libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90' (thus the '!$omp' directives) +! - 'libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90' (thus the '!$acc' directives) + subroutine dotest (n, val4, val8, known) implicit none real(kind=4) val4, known real(kind=8) val8 integer n + !$acc routine seq if (abs (val4 - known) .gt. 0.001) STOP 1 if (abs (real (val8, kind=4) - known) .gt. 0.001) STOP 2 @@ -14,17 +20,20 @@ subroutine dotestc (n, val4, val8, known) complex(kind=4) val4, known complex(kind=8) val8 integer n + !$acc routine seq + if (abs (val4 - known) .gt. 0.001) STOP 3 if (abs (cmplx (val8, kind=4) - known) .gt. 0.001) STOP 4 end subroutine -program testmath +subroutine testmath implicit none real(kind=4) r, two4, half4 real(kind=8) q, two8, half8 complex(kind=4) cr complex(kind=8) cq external dotest, dotestc + !$acc routine seq two4 = 2.0 two8 = 2.0_8 @@ -96,5 +105,16 @@ program testmath cq = log ((-1.0_8, -1.0_8)) call dotestc (21, cr, cq, (0.3466, -2.3562)) -end program +end subroutine +program main + implicit none + external testmath + + !$acc serial + !$omp target + call testmath + !$acc end serial + !$omp end target + +end program |