aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2021-05-18 16:40:45 +0200
committerTobias Burnus <tobias@codesourcery.com>2021-05-18 16:40:45 +0200
commitcc193ac840d58ee0ffb57b14b542706cde3db0e7 (patch)
tree9e95fb2adae155f73e060c2bdbd909152955b308
parent38751c4d5e15bd1c682ac4c868a2c4ce48ca5503 (diff)
downloadgcc-cc193ac840d58ee0ffb57b14b542706cde3db0e7.zip
gcc-cc193ac840d58ee0ffb57b14b542706cde3db0e7.tar.gz
gcc-cc193ac840d58ee0ffb57b14b542706cde3db0e7.tar.bz2
Fortran/OpenMP: Add missing EXEC_OMP_DEPOBJ case val [PR100642]
PR fortran/100642 gcc/fortran/ChangeLog: * openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ. gcc/testsuite/ChangeLog: * gfortran.dg/goacc-gomp/depobj.f90: New test.
-rw-r--r--gcc/fortran/openmp.c3
-rw-r--r--gcc/testsuite/gfortran.dg/goacc-gomp/depobj.f9011
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 294b6d0..005b6c1 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -6902,7 +6902,8 @@ omp_code_to_statement (gfc_code *code)
return ST_OMP_PARALLEL_DO;
case EXEC_OMP_PARALLEL_DO_SIMD:
return ST_OMP_PARALLEL_DO_SIMD;
-
+ case EXEC_OMP_DEPOBJ:
+ return ST_OMP_DEPOBJ;
default:
gcc_unreachable ();
}
diff --git a/gcc/testsuite/gfortran.dg/goacc-gomp/depobj.f90 b/gcc/testsuite/gfortran.dg/goacc-gomp/depobj.f90
new file mode 100644
index 0000000..e1c6830
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goacc-gomp/depobj.f90
@@ -0,0 +1,11 @@
+! PR fortran/100642
+! Contributed by G. Steinmetz
+program p
+ !use omp_lib, only: omp_depend_kind
+ use iso_c_binding, only: c_intptr_t
+ integer, parameter :: omp_depend_kind = 2*c_intptr_t
+ integer(omp_depend_kind) :: a, b
+ !$acc data
+ !$omp depobj(b) depend(out:a) ! { dg-error "The !\\\$OMP DEPOBJ directive cannot be specified within a !\\\$ACC DATA region" }
+ !$acc end data
+end