From: Tobias Burnus Date: Tue, 18 May 2021 18:14:42 +0000 (+0200) Subject: Fortran/OpenMP: Add missing EXEC_OMP_DEPOBJ case val [PR100642] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=948eb2b232885c793eed818c9137b9ce6aae441f;p=thirdparty%2Fgcc.git 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. (cherry picked from commit cc193ac840d58ee0ffb57b14b542706cde3db0e7) --- diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp index dcf88c28a9fc..f59fea039c03 100644 --- a/gcc/fortran/ChangeLog.omp +++ b/gcc/fortran/ChangeLog.omp @@ -1,3 +1,11 @@ +2021-05-18 Tobias Burnus + + Backported from master: + 2021-05-18 Tobias Burnus + + PR fortran/100642 + * openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ. + 2021-05-17 Tobias Burnus Backported from master: diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index e17cdf570769..eaddca5212b9 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -6939,7 +6939,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/ChangeLog.omp b/gcc/testsuite/ChangeLog.omp index ac4146b2d74a..5a90ab78ca59 100644 --- a/gcc/testsuite/ChangeLog.omp +++ b/gcc/testsuite/ChangeLog.omp @@ -1,3 +1,11 @@ +2021-05-18 Tobias Burnus + + Backported from master: + 2021-05-18 Tobias Burnus + + PR fortran/100642 + * gfortran.dg/goacc-gomp/depobj.f90: New test. + 2021-05-17 Tobias Burnus Backported from master: 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 000000000000..e1c683000f54 --- /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