Don't allow mixed component and non-component accesses for OpenACC/Fortran
authorJulian Brown <julian@codesourcery.com>
Fri, 3 Jan 2020 18:06:15 +0000 (10:06 -0800)
committerJulian Brown <julian@codesourcery.com>
Tue, 28 Jan 2020 14:00:29 +0000 (06:00 -0800)
commit278c3214b344ac7c5daf974196fbebc531bff058
tree5fb64b46ceb10ceee9647519ec7b68320c82abc8
parent99b9f5b4067a8c5c5a706694b9a23516126984de
Don't allow mixed component and non-component accesses for OpenACC/Fortran

gcc/fortran/
* gfortran.h (gfc_symbol): Add comp_mark bitfield.
* openmp.c (resolve_omp_clauses): Disallow mixed component and
full-derived-type accesses to the same variable within a single
directive.

libgomp/
* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
component/non-component variable refs in a single directive.
* testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.

gcc/testsuite/
* gfortran.dg/goacc/deep-copy-2.f90: Move test here (from libgomp
testsuite). Make a compilation test, and expect rejection of mixed
component/non-component accesses.
* gfortran.dg/goacc/mapping-tests-1.f90: New test.
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/openmp.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/goacc/deep-copy-2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/mapping-tests-1.f90 [new file with mode: 0644]
libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-fortran/classtypes-1.f95
libgomp/testsuite/libgomp.oacc-fortran/deep-copy-2.f90 [deleted file]
libgomp/testsuite/libgomp.oacc-fortran/deep-copy-3.f90