[gcc/devel/omp/gcc-11] Fortran/OpenMP: Add missing EXEC_OMP_DEPOBJ case val [PR100642]

Tobias Burnus burnus@gcc.gnu.org
Tue May 18 18:15:33 GMT 2021


https://gcc.gnu.org/g:948eb2b232885c793eed818c9137b9ce6aae441f

commit 948eb2b232885c793eed818c9137b9ce6aae441f
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Tue May 18 20:14:42 2021 +0200

    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:
---
 gcc/fortran/ChangeLog.omp                       |  8 ++++++++
 gcc/fortran/openmp.c                            |  3 ++-
 gcc/testsuite/ChangeLog.omp                     |  8 ++++++++
 gcc/testsuite/gfortran.dg/goacc-gomp/depobj.f90 | 11 +++++++++++
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp
index dcf88c28a9f..f59fea039c0 100644
--- a/gcc/fortran/ChangeLog.omp
+++ b/gcc/fortran/ChangeLog.omp
@@ -1,3 +1,11 @@
+2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+	Backported from master:
+	2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+	PR fortran/100642
+	* openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ.
+
 2021-05-17  Tobias Burnus  <tobias@codesourcery.com>
 
 	Backported from master:
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index e17cdf57076..eaddca5212b 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 ac4146b2d74..5a90ab78ca5 100644
--- a/gcc/testsuite/ChangeLog.omp
+++ b/gcc/testsuite/ChangeLog.omp
@@ -1,3 +1,11 @@
+2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+	Backported from master:
+	2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+	PR fortran/100642
+	* gfortran.dg/goacc-gomp/depobj.f90: New test.
+
 2021-05-17  Tobias Burnus  <tobias@codesourcery.com>
 
 	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 00000000000..e1c683000f5
--- /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


More information about the Gcc-cvs mailing list