]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Fortran] OpenACC – permit common blocks in some clauses
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Oct 2019 14:28:40 +0000 (14:28 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Oct 2019 14:28:40 +0000 (14:28 +0000)
commit96d1e6235a5b7c81df7940c1c8727f87dc1b577a
treecf234892de7408cd52df5184bcccdcae675e7bb4
parent1e9fd29a425cb1bf78e5ded33b6122f6778a5155
[Fortran] OpenACC – permit common blocks in some clauses

2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
    Tobias Burnus  <tobias@codesourcery.com>

gcc/fortran/
* openmp.c (gfc_match_omp_map_clause): Add and pass allow_commons
argument.
(gfc_match_omp_clauses): Update calls to permit common blocks for
OpenACC's copy/copyin/copyout, create/delete, host,
pcopy/pcopy_in/pcopy_out, present_or_copy, present_or_copy_in,
present_or_copy_out, present_or_create and self.

gcc/
* gimplify.c (oacc_default_clause): Privatize fortran common blocks.
(omp_notice_variable): Defer the expansion of DECL_VALUE_EXPR for
common block decls.

gcc/testsuite/
* gfortran.dg/goacc/common-block-1.f90: New test.
* gfortran.dg/goacc/common-block-2.f90: New test.
* gfortran.dg/goacc/common-block-3.f90: New test.

libgomp/
* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.

Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277451 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/fortran/ChangeLog
gcc/fortran/openmp.c
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/goacc/common-block-1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/common-block-2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/common-block-3.f90 [new file with mode: 0644]
libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-fortran/common-block-1.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/common-block-2.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/common-block-3.f90 [new file with mode: 0644]